diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2017-02-28 19:32:02 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2017-02-28 19:32:02 +0000 |
commit | 753721a542a5814d038bf7a01422aebd5ace6ff3 (patch) | |
tree | 7ae4d178bd5f8caf8d86aef9b1854a7d68c18195 /gcc/fortran/resolve.c | |
parent | 2af0c3edd190d66ad9caa66fd98167669487c050 (diff) | |
download | gcc-753721a542a5814d038bf7a01422aebd5ace6ff3.zip gcc-753721a542a5814d038bf7a01422aebd5ace6ff3.tar.gz gcc-753721a542a5814d038bf7a01422aebd5ace6ff3.tar.bz2 |
re PR fortran/79739 (ICE with some interesting code)
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
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 7 |
1 files changed, 4 insertions, 3 deletions
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; } |