Add shim for GetSystemTimePreciseAsFileTime
This is exactly the same as GetSystemTimeAsFileTime except that it promises maximum precision.
This commit is contained in:
parent
7e6dccc47d
commit
eb40adbd46
2 changed files with 5 additions and 4 deletions
|
|
@ -110,12 +110,13 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
|
|||
#[allow(non_snake_case, clippy::arithmetic_side_effects)]
|
||||
fn GetSystemTimeAsFileTime(
|
||||
&mut self,
|
||||
shim_name: &str,
|
||||
LPFILETIME_op: &OpTy<'tcx, Provenance>,
|
||||
) -> InterpResult<'tcx> {
|
||||
let this = self.eval_context_mut();
|
||||
|
||||
this.assert_target_os("windows", "GetSystemTimeAsFileTime");
|
||||
this.check_no_isolation("`GetSystemTimeAsFileTime`")?;
|
||||
this.assert_target_os("windows", shim_name);
|
||||
this.check_no_isolation(shim_name)?;
|
||||
|
||||
let filetime = this.deref_pointer_as(LPFILETIME_op, this.windows_ty_layout("FILETIME"))?;
|
||||
|
||||
|
|
|
|||
|
|
@ -246,11 +246,11 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
|
|||
}
|
||||
|
||||
// Time related shims
|
||||
"GetSystemTimeAsFileTime" => {
|
||||
"GetSystemTimeAsFileTime" | "GetSystemTimePreciseAsFileTime" => {
|
||||
#[allow(non_snake_case)]
|
||||
let [LPFILETIME] =
|
||||
this.check_shim(abi, Abi::System { unwind: false }, link_name, args)?;
|
||||
this.GetSystemTimeAsFileTime(LPFILETIME)?;
|
||||
this.GetSystemTimeAsFileTime(link_name.as_str(), LPFILETIME)?;
|
||||
}
|
||||
"QueryPerformanceCounter" => {
|
||||
#[allow(non_snake_case)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue