diff options
Diffstat (limited to 'libgfortran/intrinsics/time_1.h')
-rw-r--r-- | libgfortran/intrinsics/time_1.h | 14 |
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; |