Skip to content

Commit 50a8333

Browse files
committed
Auto merge of #30996 - oli-obk:fix/load_range_assert, r=nagisa
it makes no sense here, accidentally introduced in #30931 r? @dotdash
2 parents 9d21aca + c02ba16 commit 50a8333

File tree

4 files changed

+8
-10
lines changed

4 files changed

+8
-10
lines changed

src/librustc_trans/trans/adt.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -956,7 +956,7 @@ fn load_discr(bcx: Block, ity: IntType, ptr: ValueRef, min: Disr, max: Disr)
956956
assert_eq!(val_ty(ptr), llty.ptr_to());
957957
let bits = machine::llbitsize_of_real(bcx.ccx(), llty);
958958
assert!(bits <= 64);
959-
let bits = bits as usize;
959+
let bits = bits as usize;
960960
let mask = Disr(!0u64 >> (64 - bits));
961961
// For a (max) discr of -1, max will be `-1 as usize`, which overflows.
962962
// However, that is fine here (it would still represent the full range),
@@ -969,7 +969,7 @@ fn load_discr(bcx: Block, ity: IntType, ptr: ValueRef, min: Disr, max: Disr)
969969
} else {
970970
// llvm::ConstantRange can deal with ranges that wrap around,
971971
// so an overflow on (max + 1) is fine.
972-
LoadRangeAssert(bcx, ptr, min, max.wrapping_add(Disr(1)), /* signed: */ True)
972+
LoadRangeAssert(bcx, ptr, min.0, max.0.wrapping_add(1), /* signed: */ True)
973973
}
974974
}
975975

src/librustc_trans/trans/base.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1023,11 +1023,11 @@ pub fn load_ty<'blk, 'tcx>(cx: Block<'blk, 'tcx>, ptr: ValueRef, t: Ty<'tcx>) ->
10231023
}
10241024

10251025
let val = if t.is_bool() {
1026-
LoadRangeAssert(cx, ptr, Disr(0), Disr(2), llvm::False)
1026+
LoadRangeAssert(cx, ptr, 0, 2, llvm::False)
10271027
} else if t.is_char() {
10281028
// a char is a Unicode codepoint, and so takes values from 0
10291029
// to 0x10FFFF inclusive only.
1030-
LoadRangeAssert(cx, ptr, Disr(0), Disr(0x10FFFF + 1), llvm::False)
1030+
LoadRangeAssert(cx, ptr, 0, 0x10FFFF + 1, llvm::False)
10311031
} else if (t.is_region_ptr() || t.is_unique()) && !common::type_is_fat_ptr(cx.tcx(), t) {
10321032
LoadNonNull(cx, ptr)
10331033
} else {

src/librustc_trans/trans/build.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ use syntax::codemap::Span;
2121
use trans::builder::Builder;
2222
use trans::type_::Type;
2323
use trans::debuginfo::DebugLoc;
24-
use trans::Disr;
2524

2625
use libc::{c_uint, c_char};
2726

@@ -578,8 +577,8 @@ pub fn AtomicLoad(cx: Block, pointer_val: ValueRef, order: AtomicOrdering) -> Va
578577
}
579578

580579

581-
pub fn LoadRangeAssert(cx: Block, pointer_val: ValueRef, lo: Disr,
582-
hi: Disr, signed: llvm::Bool) -> ValueRef {
580+
pub fn LoadRangeAssert(cx: Block, pointer_val: ValueRef, lo: u64,
581+
hi: u64, signed: llvm::Bool) -> ValueRef {
583582
if cx.unreachable.get() {
584583
let ccx = cx.fcx.ccx;
585584
let ty = val_ty(pointer_val);
@@ -592,7 +591,7 @@ pub fn LoadRangeAssert(cx: Block, pointer_val: ValueRef, lo: Disr,
592591
llvm::LLVMGetUndef(eltty.to_ref())
593592
}
594593
} else {
595-
B(cx).load_range_assert(pointer_val, lo.0, hi.0, signed)
594+
B(cx).load_range_assert(pointer_val, lo, hi, signed)
596595
}
597596
}
598597

src/librustc_trans/trans/foreign.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ use trans::monomorphize;
2727
use trans::type_::Type;
2828
use trans::type_of::*;
2929
use trans::type_of;
30-
use trans::Disr;
3130
use middle::infer;
3231
use middle::ty::{self, Ty};
3332
use middle::subst::Substs;
@@ -335,7 +334,7 @@ pub fn trans_native_call<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
335334
llarg_rust
336335
} else {
337336
if passed_arg_tys[i].is_bool() {
338-
let val = LoadRangeAssert(bcx, llarg_rust, Disr(0), Disr(2), llvm::False);
337+
let val = LoadRangeAssert(bcx, llarg_rust, 0, 2, llvm::False);
339338
Trunc(bcx, val, Type::i1(bcx.ccx()))
340339
} else {
341340
Load(bcx, llarg_rust)

0 commit comments

Comments
 (0)