https://gcc.gnu.org/g:7c51739c36bb30ea235c352ce6fc5619b9e355a1

commit 7c51739c36bb30ea235c352ce6fc5619b9e355a1
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Tue May 20 21:14:23 2025 +0200

    Correction régression inline_sum_2

Diff:
---
 gcc/fortran/trans-array.cc | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index 9a20f3a73583..a3d4c007d31e 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -2902,23 +2902,21 @@ gfc_add_loop_ss_code (gfc_loopinfo * loop, gfc_ss * ss, 
bool subscript,
          trans_array_constructor (ss, where);
          {
            gcc_assert (info->shape != nullptr || ss->dimen == 1);
-           tree type = gfc_typenode_for_spec (ss_info->expr->ts.type == 
BT_CLASS
-                                              ? &CLASS_DATA (ss_info->expr)->ts
-                                              : &ss_info->expr->ts);
-           if (ss_info->expr->ts.type == BT_CHARACTER
+           tree type = gfc_typenode_for_spec (expr->ts.type == BT_CLASS
+                                              ? &CLASS_DATA (expr)->ts
+                                              : &expr->ts);
+           if (expr->ts.type == BT_CHARACTER
                && gfc_is_constant_expr (ss_info->expr))
              type = build_pointer_type (type);
            tree spacing = TYPE_SIZE_UNIT (type);
            if (spacing == NULL_TREE)
-             spacing = ss_info->expr->ts.u.cl->backend_decl;
+             spacing = expr->ts.u.cl->backend_decl;
            spacing = fold_convert_loc (input_location, gfc_array_index_type,
                                        spacing);
-           for (n = 0; n < ss->dimen; n++)
+           for (n = 0; n < expr->rank; n++)
              {
-               int dim = ss->dim[n];
-
-               info->spacing[dim] = spacing;
-               if (n < ss->dimen - 1)
+               info->spacing[n] = spacing;
+               if (n < expr->rank - 1)
                  {
                    tree extent = gfc_conv_mpz_to_tree_type (info->shape[n],
                                                    gfc_array_index_type);

Reply via email to