Consolidate the implementation of TimeValue::now() for Unix to use the
seemingly ubiquitous gettimeofday(3) call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17813 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/System/AIX/TimeValue.cpp b/lib/System/AIX/TimeValue.cpp
index 18fd4f3..42975ad 100644
--- a/lib/System/AIX/TimeValue.cpp
+++ b/lib/System/AIX/TimeValue.cpp
@@ -12,7 +12,7 @@
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
namespace llvm {
using namespace sys;
@@ -22,8 +22,6 @@
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//===----------------------------------------------------------------------===//
-// FIXME: Need TimeValue::now()
-
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
}
diff --git a/lib/System/Cygwin/TimeValue.cpp b/lib/System/Cygwin/TimeValue.cpp
index 6871551..aaee13a 100644
--- a/lib/System/Cygwin/TimeValue.cpp
+++ b/lib/System/Cygwin/TimeValue.cpp
@@ -12,7 +12,7 @@
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
namespace llvm {
using namespace sys;
@@ -22,8 +22,6 @@
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//===----------------------------------------------------------------------===//
-// FIXME: Need TimeValue::now()
-
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
}
diff --git a/lib/System/Darwin/TimeValue.cpp b/lib/System/Darwin/TimeValue.cpp
index df27b92..0791f44 100644
--- a/lib/System/Darwin/TimeValue.cpp
+++ b/lib/System/Darwin/TimeValue.cpp
@@ -12,7 +12,7 @@
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
namespace llvm {
using namespace sys;
@@ -22,8 +22,6 @@
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//===----------------------------------------------------------------------===//
-// FIXME: Need TimeValue::now()
-
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
}
diff --git a/lib/System/FreeBSD/TimeValue.cpp b/lib/System/FreeBSD/TimeValue.cpp
index 79ed9a8..bade838 100644
--- a/lib/System/FreeBSD/TimeValue.cpp
+++ b/lib/System/FreeBSD/TimeValue.cpp
@@ -12,8 +12,7 @@
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
-#include "../Unix/Unix.h"
-#include <sys/time.h>
+#include "../Unix/Unix.cpp"
namespace llvm {
using namespace sys;
@@ -23,18 +22,6 @@
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//===----------------------------------------------------------------------===//
-TimeValue TimeValue::now() {
- struct timeval the_time;
- timerclear(&the_time);
- if (0 != ::gettimeofday(&the_time,0))
- ThrowErrno("Couldn't obtain time of day");
-
- return TimeValue(
- static_cast<TimeValue::SecondsType>( the_time.tv_sec +
- PosixZeroTime.seconds_ ),
- static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec *
- NANOSECONDS_PER_MICROSECOND ) );
-}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
}
diff --git a/lib/System/Interix/TimeValue.cpp b/lib/System/Interix/TimeValue.cpp
index 6c4957f..60c7e06 100644
--- a/lib/System/Interix/TimeValue.cpp
+++ b/lib/System/Interix/TimeValue.cpp
@@ -12,7 +12,7 @@
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
namespace llvm {
using namespace sys;
@@ -22,8 +22,6 @@
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//===----------------------------------------------------------------------===//
-// FIXME: Need TimeValue::now()
-
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
}
diff --git a/lib/System/Linux/TimeValue.cpp b/lib/System/Linux/TimeValue.cpp
index d9745cc..8f52770 100644
--- a/lib/System/Linux/TimeValue.cpp
+++ b/lib/System/Linux/TimeValue.cpp
@@ -14,8 +14,6 @@
// Include the generic Unix implementation
#include "../Unix/TimeValue.cpp"
-#include <sys/time.h>
-
namespace llvm {
using namespace sys;
@@ -25,17 +23,6 @@
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//===----------------------------------------------------------------------===//
-TimeValue TimeValue::now() {
- struct timeval the_time;
- timerclear(&the_time);
- if (0 != ::gettimeofday(&the_time,0))
- ThrowErrno("Couldn't obtain time of day");
-
- return TimeValue(
- static_cast<TimeValue::SecondsType>( the_time.tv_sec ),
- static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec *
- NANOSECONDS_PER_MICROSECOND ) );
-}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
}
diff --git a/lib/System/SunOS/TimeValue.cpp b/lib/System/SunOS/TimeValue.cpp
index 8f44060..7e47331 100644
--- a/lib/System/SunOS/TimeValue.cpp
+++ b/lib/System/SunOS/TimeValue.cpp
@@ -12,8 +12,7 @@
//===----------------------------------------------------------------------===//
// Include the generic Unix implementation
-#include "../Unix/Unix.h"
-#include <sys/time.h>
+#include "../Unix/Unix.cpp"
namespace llvm {
using namespace sys;
@@ -23,18 +22,6 @@
//=== and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
//===----------------------------------------------------------------------===//
-TimeValue TimeValue::now() {
- struct timeval the_time;
- timerclear(&the_time);
- if (0 != ::gettimeofday(&the_time,0))
- ThrowErrno("Couldn't obtain time of day");
-
- return TimeValue(
- static_cast<TimeValue::SecondsType>( the_time.tv_sec ),
- static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec *
- NANOSECONDS_PER_MICROSECOND ) );
-}
-
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
}
diff --git a/lib/System/Unix/TimeValue.cpp b/lib/System/Unix/TimeValue.cpp
index f029f8d..6b476c8 100644
--- a/lib/System/Unix/TimeValue.cpp
+++ b/lib/System/Unix/TimeValue.cpp
@@ -19,6 +19,7 @@
#include "Unix.h"
#include <time.h>
+#include <sys/time.h>
namespace llvm {
using namespace sys;
@@ -34,5 +35,17 @@
return result.substr(0,24);
}
+TimeValue TimeValue::now() {
+ struct timeval the_time;
+ ::timerclear(&the_time);
+ if (0 != ::gettimeofday(&the_time,0))
+ ThrowErrno("Couldn't obtain time of day");
+
+ return TimeValue(
+ static_cast<TimeValue::SecondsType>( the_time.tv_sec ),
+ static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec *
+ NANOSECONDS_PER_MICROSECOND ) );
+}
+
}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
diff --git a/lib/System/Unix/TimeValue.inc b/lib/System/Unix/TimeValue.inc
index f029f8d..6b476c8 100644
--- a/lib/System/Unix/TimeValue.inc
+++ b/lib/System/Unix/TimeValue.inc
@@ -19,6 +19,7 @@
#include "Unix.h"
#include <time.h>
+#include <sys/time.h>
namespace llvm {
using namespace sys;
@@ -34,5 +35,17 @@
return result.substr(0,24);
}
+TimeValue TimeValue::now() {
+ struct timeval the_time;
+ ::timerclear(&the_time);
+ if (0 != ::gettimeofday(&the_time,0))
+ ThrowErrno("Couldn't obtain time of day");
+
+ return TimeValue(
+ static_cast<TimeValue::SecondsType>( the_time.tv_sec ),
+ static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec *
+ NANOSECONDS_PER_MICROSECOND ) );
+}
+
}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab