fmt
This commit is contained in:
parent
e5bede18f6
commit
bf296bb1ce
@ -194,14 +194,8 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
|
||||
let filename_alloc =
|
||||
this.allocate_str(&filename, MiriMemoryKind::Rust.into(), Mutability::Mut)?;
|
||||
|
||||
this.write_immediate(
|
||||
name_alloc.to_ref(this),
|
||||
&this.project_field(&dest, 0)?,
|
||||
)?;
|
||||
this.write_immediate(
|
||||
filename_alloc.to_ref(this),
|
||||
&this.project_field(&dest, 1)?,
|
||||
)?;
|
||||
this.write_immediate(name_alloc.to_ref(this), &this.project_field(&dest, 0)?)?;
|
||||
this.write_immediate(filename_alloc.to_ref(this), &this.project_field(&dest, 1)?)?;
|
||||
}
|
||||
1 => {
|
||||
this.write_scalar(
|
||||
|
@ -156,10 +156,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
|
||||
let qpc = i64::try_from(duration.as_nanos()).map_err(|_| {
|
||||
err_unsup_format!("programs running longer than 2^63 nanoseconds are not supported")
|
||||
})?;
|
||||
this.write_scalar(
|
||||
Scalar::from_i64(qpc),
|
||||
&this.deref_operand(lpPerformanceCount_op)?,
|
||||
)?;
|
||||
this.write_scalar(Scalar::from_i64(qpc), &this.deref_operand(lpPerformanceCount_op)?)?;
|
||||
Ok(Scalar::from_i32(-1)) // return non-zero on success
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,12 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
|
||||
"_NSGetEnviron" => {
|
||||
let [] = this.check_shim(abi, Abi::C { unwind: false }, link_name, args)?;
|
||||
this.write_pointer(
|
||||
this.machine.env_vars.environ.as_ref().expect("machine must be initialized").ptr,
|
||||
this.machine
|
||||
.env_vars
|
||||
.environ
|
||||
.as_ref()
|
||||
.expect("machine must be initialized")
|
||||
.ptr,
|
||||
dest,
|
||||
)?;
|
||||
}
|
||||
@ -139,10 +144,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
|
||||
if written {
|
||||
this.write_null(dest)?;
|
||||
} else {
|
||||
this.write_scalar(
|
||||
Scalar::from_u32(size_needed.try_into().unwrap()),
|
||||
&bufsize,
|
||||
)?;
|
||||
this.write_scalar(Scalar::from_u32(size_needed.try_into().unwrap()), &bufsize)?;
|
||||
this.write_int(-1, dest)?;
|
||||
}
|
||||
}
|
||||
|
@ -867,9 +867,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
|
||||
cond_get_clock_id(this, cond_op)?;
|
||||
|
||||
// This might lead to false positives, see comment in pthread_mutexattr_destroy
|
||||
this.write_uninit(
|
||||
&this.deref_operand_as(cond_op, this.libc_ty_layout("pthread_cond_t"))?,
|
||||
)?;
|
||||
this.write_uninit(&this.deref_operand_as(cond_op, this.libc_ty_layout("pthread_cond_t"))?)?;
|
||||
// FIXME: delete interpreter state associated with this condvar.
|
||||
|
||||
Ok(0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user