diff --git a/include/llvm/Support/TimeValue.h b/include/llvm/Support/TimeValue.h index 4b48b849f20..27854088f05 100644 --- a/include/llvm/Support/TimeValue.h +++ b/include/llvm/Support/TimeValue.h @@ -253,9 +253,10 @@ namespace sys { /// Converts the TimeValue into the corresponding number of "ticks" for /// Win32 platforms, correcting for the difference in Win32 zero time. - /// @brief Convert to windows time (seconds since 12:00:00a Jan 1, 1601) + /// @brief Convert to Win32's FILETIME + /// (100ns intervals since 00:00:00 Jan 1, 1601 UTC) uint64_t toWin32Time() const { - uint64_t result = seconds_ - Win32ZeroTimeSeconds; + uint64_t result = (uint64_t)10000000 * (seconds_ - Win32ZeroTimeSeconds); result += nanos_ / NANOSECONDS_PER_WIN32_TICK; return result; } diff --git a/test/Object/extract.ll b/test/Object/extract.ll index ba341b8dd6e..4e519aea750 100644 --- a/test/Object/extract.ll +++ b/test/Object/extract.ll @@ -3,9 +3,6 @@ ; This test just makes sure that llvm-ar can extract bytecode members ; from various style archives. -; FIXME: Investigate Win32's TimeValue stuff! -; XFAIL: mingw32 - ; REQUIRES: shell ; RUN: cd %T