diff options
author | Daniel Kraft <d@domob.eu> | 2009-04-05 22:23:21 +0200 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2009-04-05 20:23:21 +0000 |
commit | e462f7274cab1ec2d875726ff49c80d1394de006 (patch) | |
tree | 86b244a0fcc6025b1bbd8ca5068e1ebb13ba53e4 | |
parent | 7812c78c341fb4c6559cf8158b15c48c7a1d6fde (diff) | |
download | gcc-e462f7274cab1ec2d875726ff49c80d1394de006.zip gcc-e462f7274cab1ec2d875726ff49c80d1394de006.tar.gz gcc-e462f7274cab1ec2d875726ff49c80d1394de006.tar.bz2 |
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
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_float_2.f03 | 18 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_float_3.f90 | 21 |
3 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 83215bb..87db870 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 diff --git a/gcc/testsuite/gfortran.dg/read_float_2.f03 b/gcc/testsuite/gfortran.dg/read_float_2.f03 new file mode 100644 index 0000000..29344bc --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_float_2.f03 @@ -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 diff --git a/gcc/testsuite/gfortran.dg/read_float_3.f90 b/gcc/testsuite/gfortran.dg/read_float_3.f90 new file mode 100644 index 0000000..0fa2f5c --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_float_3.f90 @@ -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 |