[llvm-commits] [llvm] r171565 - /llvm/trunk/lib/Support/Unix/Process.inc
Chandler Carruth
chandlerc at gmail.com
Fri Jan 4 16:11:22 PST 2013
Author: chandlerc
Date: Fri Jan 4 18:11:21 2013
New Revision: 171565
URL: http://llvm.org/viewvc/llvm-project?rev=171565&view=rev
Log:
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.
Modified:
llvm/trunk/lib/Support/Unix/Process.inc
Modified: llvm/trunk/lib/Support/Unix/Process.inc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Process.inc?rev=171565&r1=171564&r2=171565&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Unix/Process.inc (original)
+++ llvm/trunk/lib/Support/Unix/Process.inc Fri Jan 4 18:11:21 2013
@@ -69,7 +69,7 @@
}
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)
More information about the llvm-commits
mailing list