about summary refs log tree commit diff
path: root/posix/tst-regex2.c
diff options
context:
space:
mode:
Diffstat (limited to 'posix/tst-regex2.c')
-rw-r--r--posix/tst-regex2.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/posix/tst-regex2.c b/posix/tst-regex2.c
index a107f73ba4..0d82c2acdd 100644
--- a/posix/tst-regex2.c
+++ b/posix/tst-regex2.c
@@ -8,7 +8,7 @@
 #include <time.h>
 #include <unistd.h>
 
-#ifdef _POSIX_CPUTIME
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
 static clockid_t cl;
 static int use_clock;
 #endif
@@ -16,9 +16,14 @@ static int use_clock;
 static int
 do_test (void)
 {
-#ifdef _POSIX_CPUTIME
-  /* See whether we can use the CPU clock.  */
-  use_clock = clock_getcpuclockid (0, &cl) == 0;
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
+# if _POSIX_CPUTIME == 0
+  if (sysconf (_SC_CPUTIME) < 0)
+    use_clock = 0;
+  else
+# endif
+    /* See whether we can use the CPU clock.  */
+    use_clock = clock_getcpuclockid (0, &cl) == 0;
 #endif
 
   static const char *pat[] = {
@@ -112,7 +117,7 @@ do_test (void)
 	      rpbuf.no_sub = 1;
 	  }
 
-#ifdef _POSIX_CPUTIME
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
       struct timespec start, stop;
       if (use_clock)
 	use_clock = clock_gettime (cl, &start) == 0;
@@ -211,7 +216,7 @@ do_test (void)
 	    }
 	}
 
-#ifdef _POSIX_CPUTIME
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
       if (use_clock)
 	use_clock = clock_gettime (cl, &stop) == 0;
       if (use_clock)