]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
fortran: Remove array bound update after constructor expansion
authorMikael Morin <morin-mikael@orange.fr>
Tue, 5 Aug 2025 12:58:02 +0000 (14:58 +0200)
committerMikael Morin <mikael@gcc.gnu.org>
Tue, 5 Aug 2025 20:35:07 +0000 (22:35 +0200)
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

index f4a7a0c065cb288513cd865ad04cfad7e488ec65..7e6437bbdf7e6bf03ad6f4402f1acc3b117f0d1d 100644 (file)
@@ -3105,7 +3105,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