diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-03-11 17:06:37 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-03-11 17:06:37 +0100 |
commit | 2f4d643dab5cdf9ac795434578b970ca6af21021 (patch) | |
tree | 8619eef5d631dc59aea8b9819cc1d86757f0be5d /gcc | |
parent | ff0a0c1d883427293cc007f273ad6f9a31b511a6 (diff) | |
download | gcc-2f4d643dab5cdf9ac795434578b970ca6af21021.zip gcc-2f4d643dab5cdf9ac795434578b970ca6af21021.tar.gz gcc-2f4d643dab5cdf9ac795434578b970ca6af21021.tar.bz2 |
re PR fortran/43228 (NAMELIST I/O: Reading at 2 dimensions (rank) array values.)
2010-03-11 Tobias Burnus <burnus@net-b.de>
PR fortran/43228
* io/list_read.c (nml_parse_qualifier): Disable expanded_read
for array sections.
2010-03-11 Tobias Burnus <burnus@net-b.de>
PR fortran/43228
* gfortran.dg/namelist_61.f90: New test.
From-SVN: r157389
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/namelist_61.f90 | 35 |
2 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9a8709a..152db47 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-03-11 Tobias Burnus <burnus@net-b.de> + + PR fortran/43228 + * gfortran.dg/namelist_61.f90: New test. + 2010-03-11 Richard Guenther <rguenther@suse.de> PR tree-optimization/43255 diff --git a/gcc/testsuite/gfortran.dg/namelist_61.f90 b/gcc/testsuite/gfortran.dg/namelist_61.f90 new file mode 100644 index 0000000..c7214dd --- /dev/null +++ b/gcc/testsuite/gfortran.dg/namelist_61.f90 @@ -0,0 +1,35 @@ +! { dg-do run } +! +! PR fortran/43228 +! +integer :: a(3,3) +character(len=100) :: str +namelist /nml/a + +a = -1 +str = '&nml a(1,:) = 1 2 3 /' +read(str, nml=nml) +if (any (a(1,:) /= [1, 2, 3])) call abort () +if (any (a([2,3],:) /= -1)) call abort () + +a = -1 +str = '&nml a(1,1) = 1 2 3 4 /' +read(str, nml=nml) +if (any (a(:,1) /= [1, 2, 3])) call abort () +if (any (a(:,2) /= [4, -1, -1])) call abort () +if (any (a(:,3) /= -1)) call abort () + +str = '&nml a(1,:) = 1 2 3 , & + & a(2,:) = 4,5,6 & + & a(3,:) = 7 8 9/' +read(str, nml=nml) +if (any (a(1,:) /= [1, 2, 3])) call abort () +if (any (a(2,:) /= [4, 5, 6])) call abort () +if (any (a(3,:) /= [7, 8, 9])) call abort () + +!print *, a(:,1) +!print *, a(:,2) +!print *, a(:,3) +end + + |