Commit 44813fe0 by Janne Blomqvist

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
parent 165ca58d
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
......
/* 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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment