diff options
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r-- | gcc/fortran/trans-decl.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 4e7129e..4bd7dc4 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -2062,7 +2062,12 @@ build_function_decl (gfc_symbol * sym, bool global) tree result_decl; gfc_formal_arglist *f; - gcc_assert (!sym->attr.external); + bool module_procedure = sym->attr.module_procedure + && sym->ns + && sym->ns->proc_name + && sym->ns->proc_name->attr.flavor == FL_MODULE; + + gcc_assert (!sym->attr.external || module_procedure); if (sym->backend_decl) return; |