diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 7 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e9432d2..3e4fde1 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -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_("...") diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 876f3cd..37ffde8 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -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; } |