Skip to content
/ rust Public
forked from rust-lang/rust

Commit eb40adb

Browse files
committed
Add shim for GetSystemTimePreciseAsFileTime
This is exactly the same as GetSystemTimeAsFileTime except that it promises maximum precision.
1 parent 7e6dccc commit eb40adb

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/tools/miri/src/shims/time.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,13 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
110110
#[allow(non_snake_case, clippy::arithmetic_side_effects)]
111111
fn GetSystemTimeAsFileTime(
112112
&mut self,
113+
shim_name: &str,
113114
LPFILETIME_op: &OpTy<'tcx, Provenance>,
114115
) -> InterpResult<'tcx> {
115116
let this = self.eval_context_mut();
116117

117-
this.assert_target_os("windows", "GetSystemTimeAsFileTime");
118-
this.check_no_isolation("`GetSystemTimeAsFileTime`")?;
118+
this.assert_target_os("windows", shim_name);
119+
this.check_no_isolation(shim_name)?;
119120

120121
let filetime = this.deref_pointer_as(LPFILETIME_op, this.windows_ty_layout("FILETIME"))?;
121122

src/tools/miri/src/shims/windows/foreign_items.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,11 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
246246
}
247247

248248
// Time related shims
249-
"GetSystemTimeAsFileTime" => {
249+
"GetSystemTimeAsFileTime" | "GetSystemTimePreciseAsFileTime" => {
250250
#[allow(non_snake_case)]
251251
let [LPFILETIME] =
252252
this.check_shim(abi, Abi::System { unwind: false }, link_name, args)?;
253-
this.GetSystemTimeAsFileTime(LPFILETIME)?;
253+
this.GetSystemTimeAsFileTime(link_name.as_str(), LPFILETIME)?;
254254
}
255255
"QueryPerformanceCounter" => {
256256
#[allow(non_snake_case)]

0 commit comments

Comments
 (0)