summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/namelist_56.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/namelist_56.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_56.f9022
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/namelist_56.f90 b/gcc/testsuite/gfortran.dg/namelist_56.f90
new file mode 100644
index 000000000..658d12f6f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/namelist_56.f90
@@ -0,0 +1,22 @@
+! { dg-do run }
+! PR37707 Namelist read of array of derived type incorrect
+! Test case from Tobias Burnus
+ IMPLICIT NONE
+ integer :: j
+ character(len=5) :: str(4)
+ character(len=900) :: nlstr
+ namelist /nml/ str, j
+ str = ''
+ j = -42
+ nlstr = '&nml str = "a", "b", "cde", j = 5 /'
+ read(nlstr,nml)
+ open(99, status="scratch")
+ write(99,nml)
+ rewind(99)
+ j = -54
+ str = 'XXXX'
+ read(99,nml)
+ if (j.ne.5) call abort
+ if (any(str.ne.["a ","b ","cde "," "])) call abort
+ close(99)
+end