https://gcc.gnu.org/g:50a6aae48e5b715ffddb2f935096b880e37a131c
commit 50a6aae48e5b715ffddb2f935096b880e37a131c 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 510fc984de34..071840f0e871 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -2606,18 +2606,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,