aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2005-10-24 20:20:40 +0000
committerPaul Thomas <pault@gcc.gnu.org>2005-10-24 20:20:40 +0000
commit7ba18cea5442cd8b2bc67ab4c07e73297963627b (patch)
tree5c5fd990d242774c49c6f17cc3197d870ec10922 /gcc
parent83d890b9ba13c57aec4dcee1de9901ceab6e9a84 (diff)
downloadgcc-7ba18cea5442cd8b2bc67ab4c07e73297963627b.zip
gcc-7ba18cea5442cd8b2bc67ab4c07e73297963627b.tar.gz
gcc-7ba18cea5442cd8b2bc67ab4c07e73297963627b.tar.bz2
re PR libfortran/24416 (Wrong reading following namelist reading)
2005-10-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/24416 * libgfortran/io/list_read.c (namelist_read): Exit with call to free_saved () so that character strings do not accumulate. 2005-10-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/24416 gfortran.dg/namelist_char_only.f90: New test. From-SVN: r105862
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_char_only.f9029
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fa6e53c..1151980 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-10-24 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/24416
+ gfortran.dg/namelist_char_only.f90: New test.
+
2005-10-24 Asher Langton <langton2@llnl.gov>
PR fortran/17031
diff --git a/gcc/testsuite/gfortran.dg/namelist_char_only.f90 b/gcc/testsuite/gfortran.dg/namelist_char_only.f90
new file mode 100644
index 0000000..eb2d7ea
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/namelist_char_only.f90
@@ -0,0 +1,29 @@
+! { dg-do run }
+! { dg-options "-O0" }
+! Test patch for PR24416.f90 - a used to come back from the read with var
+! prepended.
+!
+ IMPLICIT NONE
+ CHARACTER(len=10) :: var = "hello"
+ character(len=10) :: a = ""
+ NAMELIST /inx/ var
+
+ OPEN(unit=11, status='scratch')
+ write (11, *) "&INX"
+ write (11, *) " var = 'goodbye'"
+ write (11, *) "&END"
+ rewind (11)
+
+ READ(11,NML=inx)
+ CLOSE(11)
+
+ OPEN(unit=11, status='scratch')
+ write (11, *) "alls_well"
+ rewind (11)
+
+ READ(11,*) a
+ CLOSE(11)
+
+ if (a /= "alls_well") call abort ()
+
+END \ No newline at end of file