[gcc(refs/users/mikael/heads/refactor_descriptor_v05)] Correction régression class_dummy_11

Mikael Morin mikael@gcc.gnu.org
Wed May 28 19:35:20 GMT 2025


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

commit b9e044f7916d2f59766bd7fdfa7d9b0e110f78ca
Author: Mikael Morin <mikael@gcc.gnu.org>
Date:   Wed May 28 12:28:20 2025 +0200

    Correction régression class_dummy_11

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

diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index 600c1bd43a5a..c10d1d9c6f95 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -2613,11 +2613,14 @@ gfc_copy_sequence_descriptor (stmtblock_t &block, tree lhs_desc, tree rhs_desc,
       gfc_conv_descriptor_lbound_set (&block, arr, gfc_index_zero_node,
 				      gfc_index_zero_node);
       tree size = gfc_conv_descriptor_size (rhs_desc, rhs_rank);
+      tree size_m1 = fold_build2_loc (input_location, MINUS_EXPR,
+				      gfc_array_index_type, size,
+				      gfc_index_one_node);
+      gfc_conv_descriptor_ubound_set (&block, arr, gfc_index_zero_node, size_m1);
       tree spacing0 = 
 	  gfc_conv_descriptor_spacing_get (rhs_desc, gfc_index_zero_node);
       size = fold_build2_loc (input_location, MULT_EXPR, gfc_array_index_type,
 			      size, spacing0);
-      gfc_conv_descriptor_ubound_set (&block, arr, gfc_index_zero_node, size);
       gfc_conv_descriptor_spacing_set ( &block, arr, gfc_index_zero_node, spacing0);
       for (int i = 1; i < lhs_rank; i++)
 	{


More information about the Gcc-cvs mailing list