Commit 4a9b1f8e by Janne Blomqvist

PR 42434 Update SYSTEM_CLOCK documentation

From-SVN: r169854
parent 9e762886
2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/42434
* intrinsic.texi (SYSTEM_CLOCK): Update documentation.
2011-02-02 Janus Weil <janus@gcc.gnu.org> 2011-02-02 Janus Weil <janus@gcc.gnu.org>
Paul Thomas <pault@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org>
......
...@@ -11812,14 +11812,29 @@ and should considered in new code for future portability. ...@@ -11812,14 +11812,29 @@ and should considered in new code for future portability.
@table @asis @table @asis
@item @emph{Description}: @item @emph{Description}:
Determines the @var{COUNT} of milliseconds of wall clock time since Determines the @var{COUNT} of a processor clock since an unspecified
the Epoch (00:00:00 UTC, January 1, 1970) modulo @var{COUNT_MAX}, time in the past modulo @var{COUNT_MAX}, @var{COUNT_RATE} determines
@var{COUNT_RATE} determines the number of clock ticks per second. the number of clock ticks per second. If the platform supports a high
@var{COUNT_RATE} and @var{COUNT_MAX} are constant and specific to resolution monotonic clock, that clock is used and can provide up to
@command{gfortran}. nanosecond resolution. If a high resolution monotonic clock is not
available, the implementation falls back to a potentially lower
resolution realtime clock.
@var{COUNT_RATE} and @var{COUNT_MAX} vary depending on the kind of the
arguments. For @var{kind=8} arguments, @var{COUNT} represents
nanoseconds, and for @var{kind=4} arguments, @var{COUNT} represents
milliseconds. Other than the kind dependency, @var{COUNT_RATE} and
@var{COUNT_MAX} are constant, however the particular values are
specific to @command{gfortran}.
If there is no clock, @var{COUNT} is set to @code{-HUGE(COUNT)}, and If there is no clock, @var{COUNT} is set to @code{-HUGE(COUNT)}, and
@var{COUNT_RATE} and @var{COUNT_MAX} are set to zero @var{COUNT_RATE} and @var{COUNT_MAX} are set to zero.
When running on a platform using the GNU C library (glibc), or a
derivative thereof, the high resolution monotonic clock is available
only when linking with the @var{rt} library. This can be done
explicitly by adding the @code{-lrt} flag when linking the
application, but is also done implicitly when using OpenMP.
@item @emph{Standard}: @item @emph{Standard}:
Fortran 95 and later Fortran 95 and later
...@@ -11832,11 +11847,11 @@ Subroutine ...@@ -11832,11 +11847,11 @@ Subroutine
@item @emph{Arguments}: @item @emph{Arguments}:
@multitable @columnfractions .15 .70 @multitable @columnfractions .15 .70
@item @var{COUNT} @tab (Optional) shall be a scalar of type default @item @var{COUNT} @tab (Optional) shall be a scalar of type
@code{INTEGER} with @code{INTENT(OUT)}. @code{INTEGER} with @code{INTENT(OUT)}.
@item @var{COUNT_RATE} @tab (Optional) shall be a scalar of type default @item @var{COUNT_RATE} @tab (Optional) shall be a scalar of type
@code{INTEGER} with @code{INTENT(OUT)}. @code{INTEGER} with @code{INTENT(OUT)}.
@item @var{COUNT_MAX} @tab (Optional) shall be a scalar of type default @item @var{COUNT_MAX} @tab (Optional) shall be a scalar of type
@code{INTEGER} with @code{INTENT(OUT)}. @code{INTEGER} with @code{INTENT(OUT)}.
@end multitable @end multitable
......
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