Skip to content

Commit 2356ea8

Browse files
committed
fix integer division on Windows
1 parent ac3e306 commit 2356ea8

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

flang/runtime/time-intrinsic.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -387,22 +387,22 @@ void RTNAME(Etime)(const Descriptor *values, const Descriptor *time,
387387
FILETIME userTime;
388388

389389
if (GetProcessTimes(GetCurrentProcess(), &creationTime, &exitTime,
390-
&kernelTime, &userTime) != -1) {
390+
&kernelTime, &userTime) == 0) {
391391
ULARGE_INTEGER userSystemTime;
392392
ULARGE_INTEGER kernelSystemTime;
393393

394394
memcpy(&userSystemTime, &userTime, sizeof(FILETIME));
395395
memcpy(&kernelSystemTime, &kernelTime, sizeof(FILETIME));
396396

397-
usrTime = double(userSystemTime.QuadPart / 10000);
398-
sysTime = double(kernelSystemTime.QuadPart / 10000);
397+
usrTime = ((double)(userSystemTime.QuadPart)) / 10000000.0;
398+
sysTime = ((double)(kernelSystemTime.QuadPart)) / 10000000.0;
399399
realTime = usrTime + sysTime;
400400
}
401401
#else
402402
struct tms tms;
403403
if (times(&tms) != -1) {
404-
usrTime = (double)(tms.tms_utime) / sysconf(_SC_CLK_TCK);
405-
sysTime = (double)(tms.tms_stime) / sysconf(_SC_CLK_TCK);
404+
usrTime = ((double)(tms.tms_utime)) / sysconf(_SC_CLK_TCK);
405+
sysTime = ((double)(tms.tms_stime)) / sysconf(_SC_CLK_TCK);
406406
realTime = usrTime + sysTime;
407407
}
408408
#endif

0 commit comments

Comments
 (0)