https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67721

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch, wrong-code
      Known to fail|                            |6.0

--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> ---
Draft patch:

diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index cfa1a71..e086fe3 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -9232,7 +9232,6 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr *
expr2, bool init_flag,
   scalar_to_array = (expr2->ts.type == BT_DERIVED
                       && expr2->ts.u.derived->attr.alloc_comp
                       && !expr_is_variable (expr2)
-                      && !gfc_is_constant_expr (expr2)
                       && expr1->rank && !expr2->rank);
   scalar_to_array |= (expr1->ts.type == BT_DERIVED
                                    && expr1->rank

Reply via email to