https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61775
Mikael Morin <mikael at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikael at gcc dot gnu.org --- Comment #4 from Mikael Morin <mikael at gcc dot gnu.org> --- This seems to fix it here (not heavily tested): Index: trans-expr.c =================================================================== --- trans-expr.c (révision 209169) +++ trans-expr.c (copie de travail) @@ -7932,9 +7932,7 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr /* Walk the lhs. */ lss = gfc_walk_expr (expr1); - if (gfc_is_reallocatable_lhs (expr1) - && !(expr2->expr_type == EXPR_FUNCTION - && expr2->value.function.isym != NULL)) + if (gfc_is_reallocatable_lhs (expr1)) lss->is_alloc_lhs = 1; rss = NULL; if (lss != gfc_ss_terminator)