https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79492
--- Comment #2 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Mon, Feb 13, 2017 at 06:54:16PM +0000, kargl at gcc dot gnu.org wrote: > > The suggested back is s/back/fix > Index: trans-expr.c > =================================================================== > --- trans-expr.c (revision 245254) > +++ trans-expr.c (working copy) > @@ -9811,7 +9811,7 @@ gfc_trans_assignment_1 (gfc_expr * expr1 > /* Walk the lhs. */ > lss = gfc_walk_expr (expr1); > if (gfc_is_reallocatable_lhs (expr1) > - && !(expr2->expr_type == EXPR_FUNCTION > + && (expr2->expr_type == EXPR_FUNCTION > && expr2->value.function.isym != NULL)) > lss->is_alloc_lhs = 1; > rss = NULL; This seems to cause regressions.