aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2013-04-01 20:59:34 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2013-04-01 20:59:34 +0000
commit123d7a94342b49153722fe385b60dfd54a216aaa (patch)
tree0e0fd4f96df33cd349397f6e5882975811eb86a8 /gcc
parentba829325377adccbfbbda284643200114c106896 (diff)
downloadgcc-123d7a94342b49153722fe385b60dfd54a216aaa.zip
gcc-123d7a94342b49153722fe385b60dfd54a216aaa.tar.gz
gcc-123d7a94342b49153722fe385b60dfd54a216aaa.tar.bz2
re PR fortran/56660 (Fails to read NAMELIST with certain form array syntax)
2013-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/56660 * gfortran.dg/namelist_82.f90: New test. From-SVN: r197322
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_82.f9033
2 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c1fc14d..53dc7b0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/56660
+ * gfortran.dg/namelist_82.f90: New test.
+
2013-04-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/56500
diff --git a/gcc/testsuite/gfortran.dg/namelist_82.f90 b/gcc/testsuite/gfortran.dg/namelist_82.f90
new file mode 100644
index 0000000..399d59f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/namelist_82.f90
@@ -0,0 +1,33 @@
+! { dg-do run }
+! PR56660 Fails to read NAMELIST with certain form array syntax
+type ptracer
+ character(len = 2) :: sname
+ logical :: lini
+end type ptracer
+
+type(ptracer) , dimension(3) :: tracer
+namelist/naml1/ tracer
+
+tracer(:) = ptracer('XXX', .false.)
+
+open (99, file='nml.dat', status="replace")
+write(99,*) "&naml1"
+!write(99,*) " tracer(2) = 'bb' , .true."
+write(99,*) " tracer(:) = 'aa' , .true."
+write(99,*) " tracer(2) = 'bb' , .true."
+write(99,*) "/"
+rewind(99)
+
+read (99, nml=naml1)
+close (99, status="delete")
+
+if (tracer(1)%sname.ne.'aa') call abort()
+if (.not.tracer(1)%lini) call abort()
+if (tracer(2)%sname.ne.'bb') call abort()
+if (.not.tracer(2)%lini) call abort()
+if (tracer(3)%sname.ne.'XX') call abort()
+if (tracer(3)%lini) call abort()
+
+!write (*, nml=naml1)
+
+end