From 4cff412ecc4c760f0bbade18da02169967dc5ccf Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sat, 5 Jan 2013 00:11:21 +0000 Subject: [PATCH] Try to suppress the use of clock_gettime on Darwin which apparantly defines _POSIX_CPUTIME but doesn't support the clock_* functions. I don't test the value of _POSIX_CPUTIME because the spec merely says that if it is defined, the CPU-specific timers are available, whereas it says that _POSIX_TIMERS must be defined and defined to a value greater than zero. However, this may not work, as the POSIX spec clearly states: "If the symbolic constant _POSIX_CPUTIME is defined, then the symbolic constant _POSIX_TIMERS shall also be defined by the implementation to have the value 200112L." If this doesn't work, I'll add more hacks for Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171565 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Unix/Process.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Support/Unix/Process.inc b/lib/Support/Unix/Process.inc index a525538f78b..c6dd3c0dc55 100644 --- a/lib/Support/Unix/Process.inc +++ b/lib/Support/Unix/Process.inc @@ -69,7 +69,7 @@ static std::pair getRUsageTimes() { } TimeValue self_process::get_user_time() const { -#ifdef _POSIX_CPUTIME +#if _POSIX_TIMERS > 0 && defined(_POSIX_CPUTIME) // Try to get a high resolution CPU timer. struct timespec TS; if (::clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &TS) == 0)