This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Committed] PR fortran/91587 -- A syntax error should occur


This is obvious.

2019-08-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91587
	* io.c (match_filepos): MATCH_ERROR should branch to a syntax error.

2019-08-30  Steven G. Kargl  <kargl@gcc.gnu.org>

	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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]