PR 53456 CPU timing fallback using clock_gettime.
2012-05-24 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/53456 * intrinsics/time_1.h (gf_cputime): Fallback for clock_gettime. From-SVN: r187846
This commit is contained in:
parent
165ca58dc3
commit
44813fe043
@ -1,3 +1,8 @@
|
||||
2012-05-24 Janne Blomqvist <jb@gcc.gnu.org>
|
||||
|
||||
PR fortran/53456
|
||||
* intrinsics/time_1.h (gf_cputime): Fallback for clock_gettime.
|
||||
|
||||
2012-05-23 Janne Blomqvist <jb@gcc.gnu.org>
|
||||
|
||||
PR fortran/53456
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Wrappers for platform timing functions.
|
||||
Copyright (C) 2003, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003, 2007, 2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
@ -166,6 +166,21 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec
|
||||
return -1;
|
||||
return 0;
|
||||
|
||||
#elif defined(HAVE_CLOCK_GETTIME) && (defined(CLOCK_PROCESS_CPUTIME_ID) \
|
||||
|| defined(CLOCK_THREAD_CPUTIME_ID))
|
||||
/* Newer versions of VxWorks have CLOCK_THREAD_CPUTIME_ID giving
|
||||
per-thread CPU time. CLOCK_PROCESS_CPUTIME_ID would be better
|
||||
but is not available. */
|
||||
#ifndef CLOCK_PROCESS_CPUTIME_ID
|
||||
#define CLOCK_PROCESS_CPUTIME_ID CLOCK_THREAD_CPUTIME_ID
|
||||
#endif
|
||||
struct timespec ts;
|
||||
int err = clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &ts);
|
||||
*user_sec = ts.tv_sec;
|
||||
*user_usecs = ts.tv_nsec / 1000;
|
||||
*system_sec = *system_usec = 0;
|
||||
return err;
|
||||
|
||||
#else
|
||||
clock_t c = clock ();
|
||||
*user_sec = c / CLOCKS_PER_SEC;
|
||||
|
Loading…
Reference in New Issue
Block a user