This is obvious.
2019-08-30 Steven G. Kargl <[email protected]>
PR fortran/91587
* io.c (match_filepos): MATCH_ERROR should branch to a syntax error.
2019-08-30 Steven G. Kargl <[email protected]>
PR fortran/91587
* gfortran.dg/pr91587.f90: New test.
svn commit gcc/fortran/io.c gcc/fortran/ChangeLog gcc/testsuite/ChangeLog \
gcc/testsuite/gfortran.dg/pr91587.f90
Index: gcc/fortran/io.c
===================================================================
--- gcc/fortran/io.c (revision 275048)
+++ gcc/fortran/io.c (working copy)
@@ -2845,7 +2845,7 @@ match_filepos (gfc_statement st, gfc_exec_op op)
m = match_file_element (fp);
if (m == MATCH_ERROR)
- goto done;
+ goto syntax;
if (m == MATCH_NO)
{
m = gfc_match_expr (&fp->unit);
Index: gcc/testsuite/gfortran.dg/pr91587.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr91587.f90 (nonexistent)
+++ gcc/testsuite/gfortran.dg/pr91587.f90 (working copy)
@@ -0,0 +1,12 @@
+! { dg-do compile }
+! PR fortran/91587
+! Code contributed by Gerhard Steinmetz
+program p
+ backspace(err=!) ! { dg-error "Syntax error in" }
+ flush(err=!) ! { dg-error "Syntax error in" }
+ rewind(err=!) ! { dg-error "Syntax error in" }
+end
+
+subroutine bar ! An other matcher runs, and gives a different error.
+ endfile(err=!) ! { dg-error "Expecting END" }
+end
--
Steve