This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix PR fortran/38955 testsuite/gfortran.dg/array_constructor_24.f failure


PR 38955 is the failure of testsuite/gfortran.dg/array_constructor_24.f on i686-pc-cygwin at -O3. The problem seems to be a typical ix86 excess precision problem when comparing floats.

Tested on i686-pc-cygwin. Is this OK for 4.4.0?

2009-01-24 David Billinghurst (billingd@gcc.gnu.org)

PR fortran/38955
* gfortran.dg/array_constructor_24.f: Allow tolerance when comparing floats


--- array_constructor_24.f.orig 2009-01-24 13:14:35.828125000 +1100
+++ array_constructor_24.f      2009-01-24 12:43:50.203125000 +1100
@@ -19,7 +19,7 @@
       DDA1 = ATAN2 ((/(REAL(J1,KV),J1=1,10)/),
      $                 REAL((/(J1,J1=nf10,nf1,mf1)/), KV))   !fails
       DDA2 = ATAN2 (DDA, DDA(10:1:-1))
-      if (any (DDA1 .ne. DDA2)) call abort ()
+      if (any (abs(DDA1-DDA2) .gt. 1.0e-6)) call abort ()
       END

subroutine FA6077 (nf10,nf1,mf1, ida)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]