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

commit dac61703faab9ce5cbaeb58152505e1e414c27d2
Author: Mikael Morin <[email protected]>
Date:   Wed Oct 1 16:14:49 2025 +0200

    Correction régression char_pointer_assign_5.f90

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

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index cad5130f20cf..75678c8bcefb 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -3229,7 +3229,12 @@ gfc_conv_array_stride_bytes (tree descriptor, int dim)
   tree elt_size = TYPE_SIZE_UNIT (element_type);
   if (elt_size == NULL_TREE
       || TREE_CODE (elt_size) != INTEGER_CST)
-    elt_size = gfc_conv_descriptor_elem_len_get (descriptor);
+    {
+      if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (descriptor)))
+       elt_size = gfc_conv_descriptor_elem_len_get (descriptor);
+      else
+       elt_size = GFC_TYPE_ARRAY_SIZE (TREE_TYPE (descriptor));
+    }
   elt_size = fold_convert_loc (input_location, gfc_array_index_type, elt_size);
 
   return fold_build2_loc (input_location, MULT_EXPR, gfc_array_index_type,

Reply via email to