* gfortran.dg/secnds.f: Replace time tolerance with a
authorbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 10 Feb 2007 01:27:15 +0000 (01:27 +0000)
committerbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 10 Feb 2007 01:27:15 +0000 (01:27 +0000)
before-and-after bracket.
* gfortran.dg/secnds-1.f: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121791 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/secnds-1.f
gcc/testsuite/gfortran.dg/secnds.f

index 433172e..c4dd17c 100644 (file)
@@ -1,3 +1,9 @@
+2006-02-09  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.dg/secnds.f: Replace time tolerance with a
+       before-and-after bracket.
+       * gfortran.dg/secnds-1.f: Likewise.
+
 2007-02-09  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/30512
index 7eabb64..fafe645 100644 (file)
@@ -1,24 +1,23 @@
 C { dg-do run }
+C { dg-options "-ffloat-store" }
 C Tests fix for PR29099 - SECNDS intrinsic wrong result with no delay.
-C Note1: The test uses +/-20ms accuracy in the check that
-C date_and_time and secnds give the same values.
 C
 C Contributed by Paul Thomas  <pault@gcc.gnu.org>
 C
       character*20 dum1, dum2, dum3
-      real t1, t2
+      real t1, t1a, t2, t2a
       real dat1, dat2
-      real dt
       integer i, j, values(8)
-      dt = 40e-3
       t1 = secnds (0.0)
       call date_and_time (dum1, dum2, dum3, values)
+      t1a = secnds (0.0)
       dat1 = 0.001*real (values(8)) + real (values(7)) +
      &        60.0*real (values(6)) + 3600.0* real (values(5))
-      if (int ((dat1 - t1 + dt * 0.5) / dt) .ne. 0) call abort ()
+      if (((dat1 - t1) < 0.) .or. ((dat1 - t1) > (t1a - t1))) call abort ()
+      t2a = secnds (t1a)
       call date_and_time (dum1, dum2, dum3, values)
+      t2 = secnds (t1)
       dat2 = 0.001*real (values(8)) + real (values(7)) +
      &        60.0*real (values(6)) + 3600.0* real (values(5))
-      t2 = secnds (t1)
-      if (int ((dat1-dat2 + t2 + dt * 0.5) / dt) .ne. 0.0) call abort ()
+      if (((dat2 - dat1) < t2a) .or. ((dat2 - dat1) > t2)) call abort ()
       end
index c5d86a2..a67acbb 100644 (file)
@@ -1,29 +1,27 @@
 C { dg-do run }
-C { dg-options "-O0" }
+C { dg-options "-O0 -ffloat-store" }
 C Tests fix for PR14994 - SECNDS intrinsic not supported.
-C Note1: The test uses +/-20ms accuracy in the check that
-C date_and_time and secnds give the same values.
 C
 C Contributed by Paul Thomas  <pault@gcc.gnu.org>
 C
       character*20 dum1, dum2, dum3
-      real t1, t2
+      real t1, t1a, t2, t2a
       real dat1, dat2
-      real dt
       integer i, j, values(8)
-      dt = 40e-3
       t1 = secnds (0.0)
       call date_and_time (dum1, dum2, dum3, values)
+      t1a = secnds (0.0)
       dat1 = 0.001*real (values(8)) + real (values(7)) +
      &        60.0*real (values(6)) + 3600.0* real (values(5))
-      if (int ((dat1 - t1 + dt * 0.5) / dt) .ne. 0) call abort ()
+      if (((dat1 - t1) < 0.) .or. ((dat1 - t1) > (t1a - t1))) call abort ()
       do j=1,10000
         do i=1,10000
         end do
       end do
+      t2a = secnds (t1a)
       call date_and_time (dum1, dum2, dum3, values)
+      t2 = secnds (t1)
       dat2 = 0.001*real (values(8)) + real (values(7)) +
      &        60.0*real (values(6)) + 3600.0* real (values(5))
-      t2 = secnds (t1)
-      if (int ((dat1-dat2 + t2 + dt * 0.5) / dt) .ne. 0.0) call abort ()
+      if (((dat2 - dat1) < t2a) .or. ((dat2 - dat1) > t2)) call abort ()
       end