re PR libfortran/38654 (Fortran I/O speedup)

2009-04-05  Daniel Kraft  <d@domob.eu>

	PR fortran/38654
	* gfortran.dg/read_float_2.f03
	* gfortran.dg/read_float_3.f90

From-SVN: r145572
This commit is contained in:
Daniel Kraft 2009-04-05 22:23:21 +02:00 committed by Jerry DeLisle
parent 7812c78c34
commit e462f7274c
3 changed files with 45 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-04-05 Daniel Kraft <d@domob.eu>
PR fortran/38654
* gfortran.dg/read_float_2.f03
* gfortran.dg/read_float_3.f90
2009-04-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39648

View File

@ -0,0 +1,18 @@
! { dg-do run }
! Contributed by Dominique Dhumieres <dominiq@lps.ens.fr>
character(15) :: str="+ .339 567+2"
real, parameter :: should_be = .339567e2
real, parameter :: eps = 10 * epsilon (should_be)
real :: x, y
read(str,'(BN,F15.6)') x
print *, x
read(str,'(G15.7)') y
print *, y
if (abs (x - should_be) > eps .or. abs (y - should_be) > eps) then
call abort ()
end if
end

View File

@ -0,0 +1,21 @@
! { dg-do run }
! Contributed by Dominique Dhumieres <dominiq@lps.ens.fr>
character(100) :: str1 = &
"123.00456.88 0.123E+01 +0.987+1 -0.2345+02 -0.6879E+2+0.7E+03 0.4E+03"
character(100), parameter :: should_be = &
"123.00456.88 0.123E+01 0.987E+01-0.2345E+02-0.6879E+02 0.7E+03 0.4E+03"
character(100) :: output
complex :: c1, c2, c3, c4
100 format ( 2F6.2, 2E10.3, 2E11.4, 2E8.1)
read (str1,100) c1, c2, c3, c4
write (output, 100) c1, c2, c3, c4
print *, output
if (output /= should_be) then
print *, should_be
call abort ()
end if
end