summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Unix
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2013-01-05 00:11:21 +0000
committerChandler Carruth <chandlerc@gmail.com>2013-01-05 00:11:21 +0000
commit2aaec89fd0393874e56b30f4ca924bda51bce4ef (patch)
tree4477eb5afa931c50e976ab14e7a684918befbf8e /llvm/lib/Support/Unix
parentcf15a4e97ac134cd0d44328800d024eed5436c43 (diff)
downloadbcm5719-llvm-2aaec89fd0393874e56b30f4ca924bda51bce4ef.tar.gz
bcm5719-llvm-2aaec89fd0393874e56b30f4ca924bda51bce4ef.zip
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. llvm-svn: 171565
Diffstat (limited to 'llvm/lib/Support/Unix')
-rw-r--r--llvm/lib/Support/Unix/Process.inc2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Support/Unix/Process.inc b/llvm/lib/Support/Unix/Process.inc
index a525538f78b..c6dd3c0dc55 100644
--- a/llvm/lib/Support/Unix/Process.inc
+++ b/llvm/lib/Support/Unix/Process.inc
@@ -69,7 +69,7 @@ static std::pair<TimeValue, TimeValue> 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)
OpenPOWER on IntegriCloud