summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/read_noadvance.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/read_noadvance.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/read_noadvance.f9021
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