https://gcc.gnu.org/g:a4bb3e259c009e41400967499fc49288791f55e2

commit a4bb3e259c009e41400967499fc49288791f55e2
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Sat Aug 16 19:09:50 2025 +0200

    Refactoring set_dimension_fields set_pdt_array_descriptor

Diff:
---
 gcc/fortran/trans-descriptor.cc | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index 09c63d0cbf68..4ab5c75a3832 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -2578,18 +2578,17 @@ gfc_set_pdt_array_descriptor (stmtblock_t *block, tree 
descr,
       gfc_conv_expr_type (&tse, e, gfc_array_index_type);
       gfc_free_expr (e);
       tree lower = tse.expr;
+
       gfc_conv_descriptor_lbound_set (block, descr, gfc_rank_cst[i], lower);
       e = gfc_copy_expr (as->upper[i]);
       gfc_insert_parameter_exprs (e, pdt_param_list);
       gfc_conv_expr_type (&tse, e, gfc_array_index_type);
       gfc_free_expr (e);
       tree upper = tse.expr;
-      gfc_conv_descriptor_ubound_set (block, descr, gfc_rank_cst[i], upper);
-      gfc_conv_descriptor_stride_set (block, descr, gfc_rank_cst[i], size);
-      size = gfc_evaluate_now (size, block);
-      offset = fold_build2_loc (input_location, MINUS_EXPR,
-                               gfc_array_index_type, offset, size);
-      offset = gfc_evaluate_now (offset, block);
+
+      set_dimension_fields (block, descr, gfc_rank_cst[i], lower, upper, size,
+                           &offset);
+
       tree tmp = fold_build2_loc (input_location, MINUS_EXPR,
                                  gfc_array_index_type, upper, lower);
       tmp = fold_build2_loc (input_location, PLUS_EXPR, gfc_array_index_type,

Reply via email to