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)