This commit is contained in:
Ralf Jung 2022-04-09 09:41:29 -04:00
parent be72564a64
commit d2cb11cc15
5 changed files with 5 additions and 5 deletions

View File

@ -1 +1 @@
1a4b9a85634c17a60e8802307510c300a35a4b9b
fbdb10f9fabe47eb763cb4b52b5721740cc63783

View File

@ -61,7 +61,7 @@ fn binary_ptr_op(
let pointee_ty =
left.layout.ty.builtin_deref(true).expect("Offset called on non-ptr type").ty;
let ptr = self.ptr_offset_inbounds(
self.scalar_to_ptr(left.to_scalar()?),
self.scalar_to_ptr(left.to_scalar()?)?,
pointee_ty,
right.to_scalar()?.to_machine_isize(self)?,
)?;

View File

@ -146,7 +146,7 @@ fn handle_stack_pop(
// Push the `catch_fn` stackframe.
let f_instance =
this.get_ptr_fn(this.scalar_to_ptr(catch_unwind.catch_fn))?.as_instance()?;
this.get_ptr_fn(this.scalar_to_ptr(catch_unwind.catch_fn)?)?.as_instance()?;
trace!("catch_fn: {:?}", f_instance);
let ret_place = MPlaceTy::dangling(this.machine.layouts.unit).into();
this.call_function(

View File

@ -121,7 +121,7 @@ pub fn futex<'tcx>(
// The API requires `addr` to be a 4-byte aligned pointer, and will
// use the 4 bytes at the given address as an (atomic) i32.
this.check_ptr_access_align(
this.scalar_to_ptr(addr_scalar),
this.scalar_to_ptr(addr_scalar)?,
Size::from_bytes(4),
Align::from_bytes(4).unwrap(),
CheckInAllocMsg::MemoryAccessTest,

View File

@ -249,7 +249,7 @@ fn schedule_windows_tls_dtors(&mut self) -> InterpResult<'tcx> {
"p_thread_callback",
])?;
let thread_callback =
this.get_ptr_fn(this.scalar_to_ptr(thread_callback))?.as_instance()?;
this.get_ptr_fn(this.scalar_to_ptr(thread_callback)?)?.as_instance()?;
// The signature of this function is `unsafe extern "system" fn(h: c::LPVOID, dwReason: c::DWORD, pv: c::LPVOID)`.
let reason = this.eval_path_scalar(&["std", "sys", "windows", "c", "DLL_THREAD_DETACH"])?;