From: Mikael Morin <mik...@gcc.gnu.org> Regression-tested on x86_64-pc-linux-gnu. OK for master?
-- >8 -- The array constructor expansion extends the size of the array dynamically, and sets the upper bound appropriately every time it does. There is no need to do it again at the end of expansion. gcc/fortran/ChangeLog: * trans-array.cc (trans_array_constructor): Remove the update of the array descriptor upper bound after array constructor expansion. --- gcc/fortran/trans-array.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index 98f6ea16016..0876dd4264b 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -3115,7 +3115,6 @@ trans_array_constructor (gfc_ss * ss, locus * where) gfc_array_index_type, offsetvar, gfc_index_one_node); tmp = gfc_evaluate_now (tmp, &outer_loop->pre); - gfc_conv_descriptor_ubound_set (&loop->pre, desc, gfc_rank_cst[0], tmp); if (*loop_ubound0 && VAR_P (*loop_ubound0)) gfc_add_modify (&outer_loop->pre, *loop_ubound0, tmp); else -- 2.47.2