re PR fortran/79739 (ICE with some interesting code)
authorPaul Thomas <pault@gcc.gnu.org>
Tue, 28 Feb 2017 19:32:02 +0000 (19:32 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Tue, 28 Feb 2017 19:32:02 +0000 (19:32 +0000)
2017-02-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/79739
* resolve.c (resolve_fl_procedure): Deal with the case where
'submodule_name' is NULL so that gfc_error does not ICE.
Reformat the error message to make it more consistent.

From-SVN: r245787

gcc/fortran/ChangeLog
gcc/fortran/resolve.c

index e9432d2cd91706a2aca3c77697e5b0616436ab05..3e4fde1676408b61f2b27b472d57aaf75c90c947 100644 (file)
@@ -1,3 +1,10 @@
+2017-02-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/79739
+       * resolve.c (resolve_fl_procedure): Deal with the case where
+       'submodule_name' is NULL so that gfc_error does not ICE.
+       Reformat the error message to make it more consistent.
+
 2017-02-28  Jakub Jelinek  <jakub@redhat.com>
 
        * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
index 876f3cd5d8cf83991b2d962e7a3d7c858d57a7db..37ffde820e0b86bcc86b0e9eec1d4cb0ba3e4b68 100644 (file)
@@ -12341,9 +12341,10 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
       if (!gfc_check_result_characteristics (sym, iface, errmsg, 200))
        {
          gfc_error ("%s between the MODULE PROCEDURE declaration "
-                    "in module %s and the declaration at %L in "
-                    "SUBMODULE %s", errmsg, module_name,
-                    &sym->declared_at, submodule_name);
+                    "in MODULE '%s' and the declaration at %L in "
+                    "(SUB)MODULE '%s'",
+                    errmsg, module_name, &sym->declared_at,
+                    submodule_name ? submodule_name : module_name);
          return false;
        }