miri engine: turn some debug_assert into assert
This commit is contained in:
parent
7497d93ef1
commit
6f568e72f3
@ -202,7 +202,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||
|
||||
Char => {
|
||||
// `u8` to `char` cast
|
||||
debug_assert_eq!(v as u8 as u128, v);
|
||||
assert_eq!(v as u8 as u128, v);
|
||||
Ok(Scalar::from_uint(v, Size::from_bytes(4)))
|
||||
}
|
||||
|
||||
|
@ -195,7 +195,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> Memory<'mir, 'tcx, M> {
|
||||
kind: MemoryKind<M::MemoryKinds>,
|
||||
) -> Pointer<M::PointerTag> {
|
||||
let id = self.tcx.alloc_map.lock().reserve();
|
||||
debug_assert_ne!(
|
||||
assert_ne!(
|
||||
Some(kind),
|
||||
M::STATIC_KIND.map(MemoryKind::Machine),
|
||||
"dynamically allocating static memory"
|
||||
|
@ -234,7 +234,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||
BitXor => (Scalar::from_uint(l ^ r, size), left_layout.ty),
|
||||
|
||||
Add | Sub | Mul | Rem | Div => {
|
||||
debug_assert!(!left_layout.abi.is_signed());
|
||||
assert!(!left_layout.abi.is_signed());
|
||||
let op: fn(u128, u128) -> (u128, bool) = match bin_op {
|
||||
Add => u128::overflowing_add,
|
||||
Sub => u128::overflowing_sub,
|
||||
|
@ -1130,12 +1130,10 @@ where
|
||||
let layout = self.layout_of(ty)?;
|
||||
|
||||
// More sanity checks
|
||||
if cfg!(debug_assertions) {
|
||||
let (size, align) = self.read_size_and_align_from_vtable(vtable)?;
|
||||
assert_eq!(size, layout.size);
|
||||
// only ABI alignment is preserved
|
||||
assert_eq!(align, layout.align.abi);
|
||||
}
|
||||
let (size, align) = self.read_size_and_align_from_vtable(vtable)?;
|
||||
assert_eq!(size, layout.size);
|
||||
// only ABI alignment is preserved
|
||||
assert_eq!(align, layout.align.abi);
|
||||
|
||||
let mplace = MPlaceTy { mplace: MemPlace { meta: MemPlaceMeta::None, ..*mplace }, layout };
|
||||
Ok((instance, mplace))
|
||||
|
@ -287,7 +287,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||
self.eval_terminator(terminator)?;
|
||||
if !self.stack.is_empty() {
|
||||
// This should change *something*
|
||||
debug_assert!(self.cur_frame() != old_stack || self.frame().block != old_bb);
|
||||
assert!(self.cur_frame() != old_stack || self.frame().block != old_bb);
|
||||
if let Some(block) = self.frame().block {
|
||||
info!("// executing {:?}", block);
|
||||
}
|
||||
|
@ -172,7 +172,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||
}
|
||||
let caller_arg = caller_arg.next().ok_or_else(|| err_unsup!(FunctionArgCountMismatch))?;
|
||||
if rust_abi {
|
||||
debug_assert!(!caller_arg.layout.is_zst(), "ZSTs must have been already filtered out");
|
||||
assert!(!caller_arg.layout.is_zst(), "ZSTs must have been already filtered out");
|
||||
}
|
||||
// Now, check
|
||||
if !Self::check_argument_compat(rust_abi, caller_arg.layout, callee_arg.layout) {
|
||||
|
@ -142,16 +142,16 @@ fn wrapping_range_contains(r: &RangeInclusive<u128>, test: u128) -> bool {
|
||||
// "expected something <in the given range>" makes sense.
|
||||
fn wrapping_range_format(r: &RangeInclusive<u128>, max_hi: u128) -> String {
|
||||
let (lo, hi) = r.clone().into_inner();
|
||||
debug_assert!(hi <= max_hi);
|
||||
assert!(hi <= max_hi);
|
||||
if lo > hi {
|
||||
format!("less or equal to {}, or greater or equal to {}", hi, lo)
|
||||
} else if lo == hi {
|
||||
format!("equal to {}", lo)
|
||||
} else if lo == 0 {
|
||||
debug_assert!(hi < max_hi, "should not be printing if the range covers everything");
|
||||
assert!(hi < max_hi, "should not be printing if the range covers everything");
|
||||
format!("less or equal to {}", hi)
|
||||
} else if hi == max_hi {
|
||||
debug_assert!(lo > 0, "should not be printing if the range covers everything");
|
||||
assert!(lo > 0, "should not be printing if the range covers everything");
|
||||
format!("greater or equal to {}", lo)
|
||||
} else {
|
||||
format!("in the range {:?}", r)
|
||||
|
Loading…
x
Reference in New Issue
Block a user