https://gcc.gnu.org/g:c01af817cbd04942741a90a2276d38d2d9c0fd5d
commit c01af817cbd04942741a90a2276d38d2d9c0fd5d 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 ad82a2e3b72f..54d38cf1d010 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,
