[gcc(refs/users/mikael/heads/refactor_descriptor_v05)] Correction régressions vector_subscript*

Mikael Morin mikael@gcc.gnu.org
Fri Jun 13 15:09:23 GMT 2025


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

commit e5b69b64fffe94c1e4080f590a0c412ff73ceafc
Author: Mikael Morin <mikael@gcc.gnu.org>
Date:   Mon May 26 21:52:17 2025 +0200

    Correction régressions vector_subscript*

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

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index 11a203e474b8..27d8dda70573 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -2780,6 +2780,7 @@ gfc_add_loop_ss_code (gfc_loopinfo * loop, gfc_ss * ss, bool subscript,
 	  gfc_add_block_to_block (&outer_loop->pre, &se.pre);
 	  gfc_add_block_to_block (&outer_loop->post, &se.post);
 	  info->descriptor = se.expr;
+	  gfc_conv_array_lbound_spacing (&outer_loop->pre, ss, 0);
 	  break;
 
 	case GFC_SS_INTRINSIC:
@@ -4308,7 +4309,8 @@ gfc_conv_array_lbound_spacing (stmtblock_t * block, gfc_ss * ss, int dim)
   gfc_array_info *info;
 
   gcc_assert (ss->info->type == GFC_SS_SECTION
-	      || ss->info->type == GFC_SS_COMPONENT);
+	      || ss->info->type == GFC_SS_COMPONENT
+	      || ss->info->type == GFC_SS_VECTOR);
 
   info = &ss->info->data.array;
   tree desc = info->descriptor;


More information about the Gcc-cvs mailing list