From: NAKAMURA Takumi Date: Tue, 16 Jul 2013 02:43:51 +0000 (+0000) Subject: Fix TimeValue::toWin32Time() to be symmetric to fromWin32Time() and compatible to... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ff8f9e58ec8507b951043a367d72f2385e12cf70;p=oota-llvm.git Fix TimeValue::toWin32Time() to be symmetric to fromWin32Time() and compatible to Win32's FILETIME. llvm-ar is the only user of toWin32Time() (via setLastModificationAndAccessTime), and r186298 can be reverted. It had been buggy since the initial commit. FIXME: Could we rename {from|to}Win32Time as {from|to}Win32FILETIME in TimeValue? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186374 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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