Some(RefCell::new(stacked_borrows::GlobalState::new(
config.tracked_pointer_tag,
config.tracked_call_id,
- config.track_raw,
+ config.tag_raw,
)))
} else {
None
/// Whether to enforce the validity invariant.
pub(crate) validate: bool,
+ /// Whether to enforce validity (e.g., initialization) of integers and floats.
+ pub(crate) enforce_number_validity: bool,
+
/// Whether to enforce [ABI](Abi) of function calls.
pub(crate) enforce_abi: bool,
tls: TlsData::default(),
isolated_op: config.isolated_op,
validate: config.validate,
+ enforce_number_validity: config.check_number_validity,
enforce_abi: config.check_abi,
file_handler: Default::default(),
dir_handler: Default::default(),
ecx.machine.validate
}
+ #[inline(always)]
+ fn enforce_number_validity(ecx: &InterpCx<'mir, 'tcx, Self>) -> bool {
+ ecx.machine.enforce_number_validity
+ }
+
#[inline(always)]
fn enforce_abi(ecx: &InterpCx<'mir, 'tcx, Self>) -> bool {
ecx.machine.enforce_abi
#[inline(always)]
fn call_intrinsic(
- ecx: &mut rustc_mir::interpret::InterpCx<'mir, 'tcx, Self>,
+ ecx: &mut rustc_const_eval::interpret::InterpCx<'mir, 'tcx, Self>,
instance: ty::Instance<'tcx>,
args: &[OpTy<'tcx, Tag>],
ret: Option<(&PlaceTy<'tcx, Tag>, mir::BasicBlock)>,
#[inline(always)]
fn binary_ptr_op(
- ecx: &rustc_mir::interpret::InterpCx<'mir, 'tcx, Self>,
+ ecx: &rustc_const_eval::interpret::InterpCx<'mir, 'tcx, Self>,
bin_op: mir::BinOp,
left: &ImmTy<'tcx, Tag>,
right: &ImmTy<'tcx, Tag>,