------- Comment #5 from jvdelisle at gcc dot gnu dot org 2009-01-09 04:03 ------- g77, ifort, and gfortran 4.4 all pass this test case which should print nothing.
c { dg-do run } c PR38097 I/O with blanks in exponent fails; BN edit descriptor c Test case derived from reporter. character(11) :: a = ' 2. 3 e+ 3' character(11) :: b = ' 2.003 e+ 3' character(11) :: c = ' 2.002 e+1 ' real :: f f = 0.0 read (a,'(BZ,E11.0)') f if (f .ne. 2003.0) print *,11, f f = 0.0 read (a,'(BN,E11.0)') f if (f .ne. 2300.0) print *,14, f f = 0.0 read (b,'(BN,E11.0)') f if (f .ne. 2003.0) print *, 17,f f = 0.0 read (c,'(E11.0)') f if (f .ne. 20.020) print *, f f = 0.0 read (c,'(BZ,E11.0)') f if (f .ne. 2.002e10) print *, f end c end of program gfortran 4.3 Fails this. What do the other compilers do? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38772