Win32 implementation of TimeValue::now().

Patch contributed by Jeff Cohen. Thanks Jeff!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16563 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2004-09-28 23:56:20 +00:00
parent d722bf5c28
commit 10366a4ad9
2 changed files with 24 additions and 12 deletions

View File

@ -2,7 +2,7 @@
//
// The LLVM Compiler Infrastructure
//
// This file was developed by Reid Spencer and is distributed under the
// This file was developed by Jeff Cohen and is distributed under the
// University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
@ -11,18 +11,24 @@
//
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
#include "../Unix/Unix.h"
#include "Win32.h"
namespace llvm {
using namespace sys;
//===----------------------------------------------------------------------===//
//=== WARNING: Implementation here must contain only Win32 specific code
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//=== WARNING: Implementation here must contain only Win32 specific code.
//===----------------------------------------------------------------------===//
// FIXME: Need TimeValue::now()
TimeValue TimeValue::now() {
__int64 ft;
GetSystemTimeAsFileTime(reinterpret_cast<FILETIME *>(&ft));
return TimeValue(
static_cast<TimeValue::SecondsType>( ft / 10000000 +
Win32ZeroTime.seconds_ ),
static_cast<TimeValue::NanoSecondsType>( (ft % 10000000) * 100) );
}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab

View File

@ -2,7 +2,7 @@
//
// The LLVM Compiler Infrastructure
//
// This file was developed by Reid Spencer and is distributed under the
// This file was developed by Jeff Cohen and is distributed under the
// University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
@ -11,18 +11,24 @@
//
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
#include "../Unix/Unix.h"
#include "Win32.h"
namespace llvm {
using namespace sys;
//===----------------------------------------------------------------------===//
//=== WARNING: Implementation here must contain only Win32 specific code
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//=== WARNING: Implementation here must contain only Win32 specific code.
//===----------------------------------------------------------------------===//
// FIXME: Need TimeValue::now()
TimeValue TimeValue::now() {
__int64 ft;
GetSystemTimeAsFileTime(reinterpret_cast<FILETIME *>(&ft));
return TimeValue(
static_cast<TimeValue::SecondsType>( ft / 10000000 +
Win32ZeroTime.seconds_ ),
static_cast<TimeValue::NanoSecondsType>( (ft % 10000000) * 100) );
}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab