Revert D5312574: [folly] Fix up and namespace clock_gettime and clock_getres for... v2017.06.26.01
authorChristopher Dykes <cdykes@fb.com>
Mon, 26 Jun 2017 17:25:00 +0000 (10:25 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Mon, 26 Jun 2017 17:36:21 +0000 (10:36 -0700)
Summary: This reverts commit f16634ce92ee6c299613d3db22f0537bd31ac14d

Differential Revision: D5312574

fbshipit-source-id: 1557ac17f79fb8e3530a09d69fa978ddd38e5093

folly/portability/Time.cpp
folly/portability/Time.h

index e54286fe30893400cd6e40b36c5d0e8481795147..54b3d0a10f0ac9d93045fea4494483f0a19f5261 100644 (file)
@@ -43,10 +43,6 @@ static void duration_to_ts(
 #include <mach/thread_act.h>
 #include <mach/vm_map.h>
 
-namespace folly {
-namespace portability {
-namespace time {
-
 static std::chrono::nanoseconds time_value_to_ns(time_value_t t) {
   return std::chrono::seconds(t.seconds) +
       std::chrono::microseconds(t.microseconds);
@@ -140,10 +136,6 @@ int clock_getres(clockid_t clk_id, struct timespec* ts) {
 
   return 0;
 }
-
-} // namespace time
-} // namespace portability
-} // namespace folly
 #elif defined(_WIN32)
 #include <errno.h>
 #include <locale.h>
@@ -152,10 +144,6 @@ int clock_getres(clockid_t clk_id, struct timespec* ts) {
 
 #include <folly/portability/Windows.h>
 
-namespace folly {
-namespace portability {
-namespace time {
-
 using unsigned_nanos = std::chrono::duration<uint64_t, std::nano>;
 
 static unsigned_nanos filetimeToUnsignedNanos(FILETIME ft) {
@@ -284,10 +272,6 @@ extern "C" int clock_gettime(clockid_t clock_id, struct timespec* tp) {
       return -1;
   }
 }
-
-} // namespace time
-} // namespace portability
-} // namespace folly
 #else
 #error No clock_gettime(3) compatibility wrapper available for this platform.
 #endif
index a7e5cf2da932e1d30904b34d5c536bdc5d35727a..eb6c7941c19eabbeedcf2b0c5764707821da4549 100644 (file)
@@ -20,7 +20,6 @@
 #include <time.h>
 
 #include <folly/portability/Config.h>
-#include <folly/Portability.h>
 
 // OSX is a pain. The XCode 8 SDK always declares clock_gettime
 // even if the target OS version doesn't support it, so you get
 // solve that by pretending we have it here in the header and
 // then enable our implementation on the source side so that
 // gets linked in instead.
-#if __MACH__ && FOLLY_HAVE_CLOCK_GETTIME &&                    \
+#if __MACH__ &&                                                \
     (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12 || \
      __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0)
 
+#ifdef FOLLY_HAVE_CLOCK_GETTIME
+#undef FOLLY_HAVE_CLOCK_GETTIME
+#endif
+
+#define FOLLY_HAVE_CLOCK_GETTIME 1
 #define FOLLY_FORCE_CLOCK_GETTIME_DEFINITION 1
 
 #endif
 #define CLOCK_MONOTONIC 1
 #define CLOCK_PROCESS_CPUTIME_ID 2
 #define CLOCK_THREAD_CPUTIME_ID 3
-#endif
 
-#if (!FOLLY_HAVE_CLOCK_GETTIME || FOLLY_FORCE_CLOCK_GETTIME_DEFINITION) && (defined(__MACH__) || defined(_WIN32))
-namespace folly {
-namespace portability {
-namespace time {
 typedef uint8_t clockid_t;
-int clock_gettime(clockid_t clk_id, struct timespec* ts);
-int clock_getres(clockid_t clk_id, struct timespec* ts);
-}
-}
-}
-
-FOLLY_PUSH_WARNING
-#if __CLANG_PREREQ(3, 0)
-FOLLY_GCC_DISABLE_WARNING("-Wheader-hygiene")
-#endif
-/* using override */ using namespace folly::portability::time;
-FOLLY_POP_WARNING
+extern "C" int clock_gettime(clockid_t clk_id, struct timespec* ts);
+extern "C" int clock_getres(clockid_t clk_id, struct timespec* ts);
 #endif
 
 #ifdef _WIN32