https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66929
--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> --- ... and the patch I posted at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61831#c53 Index: trans-array.c =================================================================== --- trans-array.c (révision 225979) +++ trans-array.c (copie de travail) @@ -9166,7 +9166,11 @@ gfc_get_proc_ifc_for_expr (gfc_expr *procedure_ref return NULL; /* Normal procedure case. */ - sym = procedure_ref->symtree->n.sym; + if (procedure_ref->expr_type == EXPR_FUNCTION + && procedure_ref->value.function.esym) + sym = procedure_ref->value.function.esym; + else + sym = procedure_ref->symtree->n.sym; /* Typebound procedure case. */ for (ref = procedure_ref->ref; ref; ref = ref->next)