aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics/time_1.h
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/intrinsics/time_1.h')
-rw-r--r--libgfortran/intrinsics/time_1.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/libgfortran/intrinsics/time_1.h b/libgfortran/intrinsics/time_1.h
index 2d238fd..b2adca0 100644
--- a/libgfortran/intrinsics/time_1.h
+++ b/libgfortran/intrinsics/time_1.h
@@ -213,19 +213,19 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec
static inline int
gf_gettime (time_t * secs, long * usecs)
{
-#ifdef HAVE_GETTIMEOFDAY
+#ifdef HAVE_CLOCK_GETTIME
+ struct timespec ts;
+ int err = clock_gettime (CLOCK_REALTIME, &ts);
+ *secs = ts.tv_sec;
+ *usecs = ts.tv_nsec / 1000;
+ return err;
+#elif defined(HAVE_GETTIMEOFDAY)
struct timeval tv;
int err;
err = gettimeofday (&tv, NULL);
*secs = tv.tv_sec;
*usecs = tv.tv_usec;
return err;
-#elif defined(HAVE_CLOCK_GETTIME)
- struct timespec ts;
- int err = clock_gettime (CLOCK_REALTIME, &ts);
- *secs = ts.tv_sec;
- *usecs = ts.tv_nsec / 1000;
- return err;
#else
time_t t = time (NULL);
*secs = t;