diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-10-26 19:34:21 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-10-26 19:34:21 +0000 |
commit | 33ede059c0af34e0fa9f44ed805a55e65243dc37 (patch) | |
tree | f3dfe1ca91c7dbd1ee32ed25786fb5515cae0912 /gcc | |
parent | d47abcca6dac6494f85e7d7f24f84cb699e2958e (diff) | |
download | gcc-33ede059c0af34e0fa9f44ed805a55e65243dc37.zip gcc-33ede059c0af34e0fa9f44ed805a55e65243dc37.tar.gz gcc-33ede059c0af34e0fa9f44ed805a55e65243dc37.tar.bz2 |
re PR fortran/46010 (I/O: Namelist-reading bug)
2010-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/46010
* gfortran.dg/namelist_66.f90: New test.
* gfortran.dg/fmt_t_6.f: Fix whitespace.
From-SVN: r165981
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/fmt_t_6.f | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/namelist_66.f90 | 40 |
3 files changed, 47 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a00180a..cca9e74 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2010-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/46010 + * gfortran.dg/namelist_66.f90: New test. + * gfortran.dg/fmt_t_6.f: Fix whitespace. + 2010-10-26 Jason Merrill <jason@redhat.com> * g++.dg/template/arg8.C: Test for helpful diagnostic. diff --git a/gcc/testsuite/gfortran.dg/fmt_t_6.f b/gcc/testsuite/gfortran.dg/fmt_t_6.f index 98ca172..04141a1 100644 --- a/gcc/testsuite/gfortran.dg/fmt_t_6.f +++ b/gcc/testsuite/gfortran.dg/fmt_t_6.f @@ -1,4 +1,4 @@ -! { dg-do run } +! { dg-do run } ! PR34782 tab format failure to display properly (regression vs. g77) character a(6) character(22) :: output diff --git a/gcc/testsuite/gfortran.dg/namelist_66.f90 b/gcc/testsuite/gfortran.dg/namelist_66.f90 new file mode 100644 index 0000000..912261b --- /dev/null +++ b/gcc/testsuite/gfortran.dg/namelist_66.f90 @@ -0,0 +1,40 @@ +! { dg-do run } +! PR46010 Failure to read these two examples of namelists +type ptracer + character(len = 2) :: sname + logical :: lini +end type ptracer +type(ptracer) , dimension(3) :: tracer +namelist/naml1/ tracer + +type qptracer + character(len = 20) :: sname = ""!: short name + character(len = 45 ) :: lname = ""!: long name + character(len = 20 ) :: sunit = "" !: unit + logical :: lini !: read in a file or not + logical :: lsav !: ouput the tracer or not +end type qptracer +type(qptracer) , dimension(3) :: qtracer +namelist/naml2/ qtracer + +open (99, file='nml.dat', status="replace") +write(99,*) "&naml1" +write(99,*) " tracer(1) = 'aa', .true." +write(99,*) " tracer(2) = 'bb', .true." +write(99,*) " tracer(3) = 'cc', .true." +write(99,*) "/" +rewind(99) +read (99, nml=naml1) +write (*, nml=naml1) +rewind(99) +write(99,*) "&naml2 ! just some stuff" +write(99,*) " qtracer(1) = 'dic ' , 'dissolved inorganic concentration ', 'mol-c/l' , .true. , .true.," +write(99,*) " qtracer(2) = 'alkalini' , 'total alkalinity concentration ', 'eq/l ' , .true. , .true.," +write(99,*) "/" +rewind(99) +read (99, nml=naml2) +write (*, nml=naml2) +rewind(99) + +close (99, status="delete") +end |