2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
[official-gcc.git] / gcc / testsuite / gfortran.dg / secnds-1.f
blob7eabb64335a277fd14c8922d736a6f00d33d9b66
1 C { dg-do run }
2 C Tests fix for PR29099 - SECNDS intrinsic wrong result with no delay.
3 C Note1: The test uses +/-20ms accuracy in the check that
4 C date_and_time and secnds give the same values.
6 C Contributed by Paul Thomas <pault@gcc.gnu.org>
8 character*20 dum1, dum2, dum3
9 real t1, t2
10 real dat1, dat2
11 real dt
12 integer i, j, values(8)
13 dt = 40e-3
14 t1 = secnds (0.0)
15 call date_and_time (dum1, dum2, dum3, values)
16 dat1 = 0.001*real (values(8)) + real (values(7)) +
17 & 60.0*real (values(6)) + 3600.0* real (values(5))
18 if (int ((dat1 - t1 + dt * 0.5) / dt) .ne. 0) call abort ()
19 call date_and_time (dum1, dum2, dum3, values)
20 dat2 = 0.001*real (values(8)) + real (values(7)) +
21 & 60.0*real (values(6)) + 3600.0* real (values(5))
22 t2 = secnds (t1)
23 if (int ((dat1-dat2 + t2 + dt * 0.5) / dt) .ne. 0.0) call abort ()
24 end