aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/empty_format_1.f9021
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a244c2a..0ae64e1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-06 Paul Brook <paul@codesourcery.com>
+
+ PR libfortran/17709
+ * gfortran.dg/empty_format_1.f90: New test.
+
2004-10-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/17568
diff --git a/gcc/testsuite/gfortran.dg/empty_format_1.f90 b/gcc/testsuite/gfortran.dg/empty_format_1.f90
new file mode 100644
index 0000000..450df6d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/empty_format_1.f90
@@ -0,0 +1,21 @@
+! { dg-do run }
+! PR 17709
+! We weren't resetting the internal EOR flag correctly, so the second read
+! wasn't advancing to the next line.
+program main
+ integer io_unit
+ character*20 str
+ io_unit = 10
+ open (unit=io_unit,status='scratch',form='formatted')
+ write (io_unit, '(A)'), "Line1"
+ write (io_unit, '(A)'), "Line2"
+ write (io_unit, '(A)'), "Line3"
+ rewind (io_unit)
+ read (io_unit,'(A)') str
+ if (str .ne. "Line1") call abort
+ read (io_unit,'()')
+ read (io_unit,'(A)') str
+ if (str .ne. "Line3") call abort
+ close(unit=io_unit)
+end
+