re PR fortran/79597 (Incomplete error message "Expecting %<END INTERFACE OPERATOR")
authorDominique d'Humieres <dominiq@lps.ens.fr>
Fri, 24 Feb 2017 23:40:42 +0000 (00:40 +0100)
committerDominique d'Humieres <dominiq@gcc.gnu.org>
Fri, 24 Feb 2017 23:40:42 +0000 (00:40 +0100)
2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/79597
* interface.c (gfc_match_end_interface): Remove spurious comma
and space, replace 'got %s' with 'got %qs'.

2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/79597
* gfortran.dg/dtio_6.f90: Update test.

2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/79601
* interface.c (check_dtio_arg_TKR_intent): Change 'intent'
to 'INTENT'.

2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/79601
* gfortran.dg/interface_operator_2.f90: New test.

From-SVN: r245729

gcc/fortran/ChangeLog
gcc/fortran/interface.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/dtio_6.f90
gcc/testsuite/gfortran.dg/interface_operator_2.f90 [new file with mode: 0644]

index bd4d971b212a931a90091ccb6071d9b710e6e440..6ee14745adfbb57fde3171ff2e6b29b202c9eabe 100644 (file)
@@ -1,3 +1,15 @@
+2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/79601
+       * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
+       to 'INTENT'.
+
+2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/79597
+       * interface.c (gfc_match_end_interface): Remove spurious comma
+       and space, replace 'got %s' with 'got %qs'.
+
 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/79599
index 53701f2e6ef3c7335b127d04ceaed748c061119a..80dae027da04be26f754de5a3ced96f49f06af8c 100644 (file)
@@ -398,10 +398,10 @@ gfc_match_end_interface (void)
              m = MATCH_ERROR;
              if (strcmp(s2, "none") == 0)
                gfc_error ("Expecting %<END INTERFACE OPERATOR (%s)%> "
-                          "at %C", s1);
+                          "at %C", s1);
              else
                gfc_error ("Expecting %<END INTERFACE OPERATOR (%s)%> at %C, "
-                          "but got %s", s1, s2);
+                          "but got %qs", s1, s2);
            }
 
        }
@@ -4623,7 +4623,7 @@ check_dtio_arg_TKR_intent (gfc_symbol *fsym, bool typebound, bt type,
               "ASSUMED SHAPE ARRAY", &fsym->declared_at);
 
   if (fsym->attr.intent != intent)
-    gfc_error ("DTIO dummy argument at %L must have intent %s",
+    gfc_error ("DTIO dummy argument at %L must have INTENT %s",
               &fsym->declared_at, gfc_code2string (intents, (int)intent));
   return;
 }
index 651eb79a2377f775d3916bbed475a18aacaabfd7..6e37ca9b5fe46fd311e3252a61c82ab32c325a30 100644 (file)
@@ -1,3 +1,13 @@
+2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/79597
+       * gfortran.dg/dtio_6.f90: Update test.
+
+2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/79601
+       * gfortran.dg/interface_operator_2.f90: New test.
+
 2017-02-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/79677
index 089db6facf0b5889c65d52f5cbe299a3cbec20f4..db7e4a83ba23f0f3a625e3f27eb0e9bb36b06734 100644 (file)
@@ -59,7 +59,7 @@ CONTAINS
     READ (UNIT = UNIT, FMT = *) dtv%name, dtv%age
   END SUBROUTINE prf
 
-  SUBROUTINE pwuf (dtv,unit,iostat,iomsg)  ! { dg-error "must have intent IN" }
+  SUBROUTINE pwuf (dtv,unit,iostat,iomsg)  ! { dg-error "must have INTENT IN" }
     CLASS(person), INTENT(INOUT) :: dtv
     INTEGER, INTENT(IN) :: unit
     INTEGER, INTENT(OUT) :: iostat
diff --git a/gcc/testsuite/gfortran.dg/interface_operator_2.f90 b/gcc/testsuite/gfortran.dg/interface_operator_2.f90
new file mode 100644 (file)
index 0000000..a739596
--- /dev/null
@@ -0,0 +1,10 @@
+! { dg-do compile }
+! PR fortran/66106
+!
+! Original code from Gerhard Steinmetz
+! <gerhard dot steinmetz dot fortran at t-online dot de>
+program p
+   interface operator ( .gt. )
+   end interface operator (.lt.) ! { dg-error "END INTERFACE OPERATOR" }
+end program p                    ! { dg-error "END INTERFACE" }
+! { dg-excess-errors "Unexpected end of file" }