diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/read_noadvance.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_noadvance.f90 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/read_noadvance.f90 b/gcc/testsuite/gfortran.dg/read_noadvance.f90 new file mode 100644 index 000000000..e55763ad8 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_noadvance.f90 @@ -0,0 +1,21 @@ +! { dg-do run } +! pr24719, non-advancing read should read more than one line +! test contributed by jerry delisle <jvdelisle@gcc.gnu.org> + implicit none + character(1) :: chr + character(20) :: correct = 'foo: bar 123abc' + integer :: i + open(unit = 11, status = "scratch", action="readwrite") + write(11,'(a)') "foo: bar" + write(11,'(a)') "123abc" + rewind(11) + i = 0 + do + i = i + 1 +10 read(unit = 11, fmt = '(a)', advance = 'no', end = 99, eor = 11) chr + if (chr.ne.correct(i:i)) call abort() + cycle +11 continue + end do +99 close(11) + end |