diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/read_bad_advance.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/read_bad_advance.f90 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/read_bad_advance.f90 b/gcc/testsuite/gfortran.dg/read_bad_advance.f90 new file mode 100644 index 000000000..539ada496 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_bad_advance.f90 @@ -0,0 +1,32 @@ +! { dg-do run } +! PR27138 Failure to advance line on bad list directed read. +! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> + program test + implicit none + integer :: ntype = 55 + real :: rtype + complex :: ctype + logical :: ltype + OPEN (10, status="scratch") + write(10,*) "aaaa aaaa aaaa aaaa" + write(10,*) "bbbb bbbb bbbb bbbb" + write(10,*) "cccc cccc cccc cccc" + write(10,*) "dddd dddd dddd dddd" + write(10,*) " " + write(10,*) "1234 5678 9012 3456" + rewind(10) + READ (10,*,END=77,ERR=77) ntype + goto 99 + 77 READ (10,*,END=78,ERR=78) rtype + goto 99 + 78 READ (10,*,END=79,ERR=79) ctype + goto 99 + 79 READ (10,*,END=80,ERR=80) ltype + goto 99 + 80 READ (10,*,END=99,ERR=99) ntype + if (ntype.ne.1234) goto 99 + close(10) + stop + 99 close(10) + call abort() + end program test |