diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-03-26 03:26:26 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-03-26 03:26:26 +0000 |
commit | 259d831f7ee350afa41d59fc98bb03e9b28465b9 (patch) | |
tree | e1333f6e675c79e60ea030aa59b666308a260518 /gcc | |
parent | 6a10835a6b0b01a29cbbb28b0ccdaac21103e98d (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_eof_7.f90 | 20 |
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 + |