From f49d5a7eca3baec3ba954934d55eaa24d74e8699 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Fri, 15 Sep 2006 16:03:52 +0000 Subject: [PATCH] re PR libfortran/29099 (secnds intrinsic gives wrong result) 2006-09-15 Jerry DeLisle PR libgfortran/29099 * intrinsics/date_and_time.c (secnds): Fix case of zero time. From-SVN: r116975 --- libgfortran/ChangeLog | 7 ++++++- libgfortran/intrinsics/date_and_time.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index b399bbeed99..38326632b4b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,4 +1,9 @@ -2006-09-14 Jerry DeLisle +2006-09-15 Jerry DeLisle + + PR libgfortran/29099 + * intrinsics/date_and_time.c (secnds): Fix case of zero time. + +2006-09-15 Jerry DeLisle PR libgfortran/29053 * io.h (gfc_unit): Add variable, strm_pos, to track diff --git a/libgfortran/intrinsics/date_and_time.c b/libgfortran/intrinsics/date_and_time.c index 6a4131f7ddc..9255176adcb 100644 --- a/libgfortran/intrinsics/date_and_time.c +++ b/libgfortran/intrinsics/date_and_time.c @@ -356,7 +356,7 @@ secnds (GFC_REAL_4 *x) (GFC_REAL_4)values[6] + 0.001 * (GFC_REAL_4)values[7]; temp2 = fmod (*x, 86400.0); - temp2 = (temp1 - temp2 > 0.0) ? temp2 : (temp2 - 86400.0); + temp2 = (temp1 - temp2 >= 0.0) ? temp2 : (temp2 - 86400.0); return temp1 - temp2; }