re PR libfortran/29099 (secnds intrinsic gives wrong result)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Fri, 15 Sep 2006 16:03:52 +0000 (16:03 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Fri, 15 Sep 2006 16:03:52 +0000 (16:03 +0000)
2006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/29099
* intrinsics/date_and_time.c (secnds): Fix case of zero time.

From-SVN: r116975

libgfortran/ChangeLog
libgfortran/intrinsics/date_and_time.c

index b399bbeed99d4a40716bc1eaa469f67222eb34fb..38326632b4bd1c1cd7f8d1d398b441cf26fe1dc3 100644 (file)
@@ -1,4 +1,9 @@
-2006-09-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+2006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/29099
+       * intrinsics/date_and_time.c (secnds): Fix case of zero time.
+
+2006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libgfortran/29053
        * io.h (gfc_unit): Add variable, strm_pos, to track
index 6a4131f7ddc698a2fbc792e89c3c955849cf879f..9255176adcb1efdf815a3221d72591b4af6c64c9 100644 (file)
@@ -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;
 }