https://gcc.gnu.org/g:6b17d032343f3c266217566b1f148f7c16ce8d9f

commit 6b17d032343f3c266217566b1f148f7c16ce8d9f
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 e19524927639..7607d7f24849 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -2575,18 +2575,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