aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2010-03-26 03:26:26 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2010-03-26 03:26:26 +0000
commit259d831f7ee350afa41d59fc98bb03e9b28465b9 (patch)
treee1333f6e675c79e60ea030aa59b666308a260518 /gcc
parent6a10835a6b0b01a29cbbb28b0ccdaac21103e98d (diff)
downloadgcc-259d831f7ee350afa41d59fc98bb03e9b28465b9.zip
gcc-259d831f7ee350afa41d59fc98bb03e9b28465b9.tar.gz
gcc-259d831f7ee350afa41d59fc98bb03e9b28465b9.tar.bz2
re PR fortran/43517 (spurious end-of-file condition when namelist read follows formatted read)
2010-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/43517 * gfortran.dg/read_eof_7.f90: New test. From-SVN: r157738
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/read_eof_7.f9020
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5b7c892..dfbf449 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/43517
+ * gfortran.dg/read_eof_7.f90: New test.
+
2010-03-25 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
PR objc/35165
diff --git a/gcc/testsuite/gfortran.dg/read_eof_7.f90 b/gcc/testsuite/gfortran.dg/read_eof_7.f90
new file mode 100644
index 0000000..a478f06
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/read_eof_7.f90
@@ -0,0 +1,20 @@
+! { dg-do run }
+! PR43517 Spurious EOF condition when namelist read follows formatted read
+! Test case from the problem reporter - Michael Richmond
+program main
+ namelist /name/ j
+ open (10,status='scratch',form='formatted')
+ write(10,'(a)') "999999"
+ write(10,'(a)') " $name"
+ write(10,'(a)') " j=73,"
+ write(10,'(a)') " /"
+ rewind(10)
+ i = 54321
+ idum = 6789
+ read (10,'(2i5,4x)') i, idum ! Trailing 4x was setting EOF condition
+ if (i /= 99999 .and. idum /= 9) call abort
+ j = 12345
+ read (10,name) ! EOF condition tripped here.
+ if (j /= 73) call abort
+end program main
+