diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/read_eof_4.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_eof_4.f90 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/read_eof_4.f90 b/gcc/testsuite/gfortran.dg/read_eof_4.f90 new file mode 100644 index 000000000..ee95268d5 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_eof_4.f90 @@ -0,0 +1,30 @@ +! { dg-do run } +! PR 27575 and PR 30009: This test checks the error checking for end +! of file condition. +! Derived from test case in PR. +! Submitted by Jerry DeLisle <jvdelisle@verizon.net>, modified by +! Thomas Koenig <Thomas.Koenig@online.de> + + program test + integer i1,i2,i3 + open(unit=11,form='unformatted') + write (11) 1, 2 + write (11) 3, 4 + close(11,status='keep') + + open(unit=11,form='unformatted') + + read(11, ERR=100) i1, i2, i3 + call abort() + 100 continue + if (i1 /= 1 .or. i2 /= 2) call abort + + read(11, ERR=110) i1, i2, i3 + call abort() + 110 continue + if (i1 /= 3 .or. i2 /= 4) call abort + + read(11, end=120) i3 + call abort() + 120 close(11,status='delete') + end |