[gcc(refs/users/mikael/heads/refactor_descriptor_v291.01)] Refactoring set_dimension_fields set_pdt_array_descriptor

Mikael Morin mikael@gcc.gnu.org
Mon Jul 27 17:36:03 GMT 2026


https://gcc.gnu.org/g:1246b34d1556c7428b4b97bccac03d5b32a5404c

commit 1246b34d1556c7428b4b97bccac03d5b32a5404c
Author: Mikael Morin <mikael@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 | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index a25f5fc6ce89..74de4f4d420f 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -2622,19 +2622,17 @@ gfc_set_pdt_array_descriptor (stmtblock_t *block, tree descr,
       gfc_free_expr (e);
       tree lower = tse.expr;
       gfc_add_block_to_block (block, &tse.pre);
-      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_add_block_to_block (block, &tse.pre);
-      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,


More information about the Gcc-cvs mailing list