https://gcc.gnu.org/g:731f840eb3a4b90aba0f89cc1e6c812206d37dc7
commit 731f840eb3a4b90aba0f89cc1e6c812206d37dc7 Author: Mikael Morin <[email protected]> Date: Fri Oct 3 20:36:10 2025 +0200 Correction partielle pointer_remapping_10.f90 Diff: --- gcc/fortran/trans-descriptor.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc index 494383c30228..223d7bb5e41d 100644 --- a/gcc/fortran/trans-descriptor.cc +++ b/gcc/fortran/trans-descriptor.cc @@ -2354,8 +2354,6 @@ void gfc_set_descriptor_with_shape (stmtblock_t *block, tree desc, tree ptr, gfc_expr *shape, gfc_expr *lower, locus *where) { - gcc_assert (GFC_BYTES_STRIDES_ARRAY_TYPE_P (TREE_TYPE (desc))); - /* Set the span field. */ tree tmp = TYPE_SIZE_UNIT (gfc_get_element_type (TREE_TYPE (desc))); tree elem_len = fold_convert (gfc_array_index_type, tmp); @@ -2402,7 +2400,10 @@ gfc_set_descriptor_with_shape (stmtblock_t *block, tree desc, tree ptr, tree stride = gfc_create_var (gfc_array_index_type, "stride"); tree offset = gfc_create_var (gfc_array_index_type, "offset"); - gfc_add_modify (block, stride, elem_len); + if (GFC_BYTES_STRIDES_ARRAY_TYPE_P (TREE_TYPE (desc))) + gfc_add_modify (block, stride, elem_len); + else + gfc_add_modify (block, stride, gfc_index_one_node); gfc_add_modify (block, offset, gfc_index_zero_node); /* Loop body. */
