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

commit e2f64cdc884758412440a3f3bbf3d8069d343f4d
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Fri Jul 18 15:26:09 2025 +0200

    Revert "Factorisation set_contiguous_array"
    
    This reverts commit 563cc24ad25f26b504f79bc3377ded2749bd949c.

Diff:
---
 gcc/fortran/trans-array.cc | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index bb339941ae36..f071a5fc9220 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -9652,11 +9652,21 @@ structure_alloc_comps (gfc_symbol * der_type, tree 
decl, tree dest,
              cdesc = gfc_create_var (cdesc, "cdesc");
              DECL_ARTIFICIAL (cdesc) = 1;
 
+             gfc_conv_descriptor_dtype_set (&dealloc_block, cdesc,
+                                            gfc_get_dtype_rank_type (1, tmp));
+             gfc_conv_descriptor_lbound_set (&dealloc_block, cdesc,
+                                             gfc_index_zero_node,
+                                             gfc_index_one_node);
+             gfc_conv_descriptor_stride_set (&dealloc_block, cdesc,
+                                             gfc_index_zero_node,
+                                             gfc_index_one_node);
+             gfc_conv_descriptor_ubound_set (&dealloc_block, cdesc,
+                                             gfc_index_zero_node, ubound);
+
              if (attr->dimension)
                comp = gfc_conv_descriptor_data_get (comp);
 
-             gfc_set_contiguous_descriptor (&dealloc_block, cdesc, ubound,
-                                            comp);
+             gfc_conv_descriptor_data_set (&dealloc_block, cdesc, comp);
 
              /* Now call the deallocator.  */
              vtab = gfc_find_vtab (&c->ts);

Reply via email to