diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/eor_handling_5.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/eor_handling_5.f90 | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/eor_handling_5.f90 b/gcc/testsuite/gfortran.dg/eor_handling_5.f90 new file mode 100644 index 000000000..c116fb7bd --- /dev/null +++ b/gcc/testsuite/gfortran.dg/eor_handling_5.f90 @@ -0,0 +1,19 @@ +! { dg-do run } +! PR 20661: Handle non-advancing I/O with iostat +! Test case by Walt Brainerd, The Fortran Company + +program fc002 + character(len=1) :: c + integer :: k,k2 + character(len=*), parameter :: f="(a)" + open(11,status="scratch", iostat=k) + if (k /= 0) call abort + write(11,f) "x" + rewind (11) + read(11, f, advance="no", iostat=k) c + if (k /= 0) call abort + read(11, f, advance="no", iostat=k) c + if (k >= 0) call abort + read(11, f, advance="no", iostat=k2) c + if (k2 >= 0 .or. k == k2) call abort +end program fc002 |