[gcc(refs/users/mikael/heads/refactor_descriptor_v08)] Correction régression actual_array_subref.f90

Mikael Morin mikael@gcc.gnu.org
Fri Sep 26 19:09:15 GMT 2025


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

commit e7449df6dc23c86ba09ae62f60a244e11c5c347e
Author: Mikael Morin <mikael@gcc.gnu.org>
Date:   Tue Sep 23 15:41:01 2025 +0200

    Correction régression actual_array_subref.f90

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

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index 78c50797865a..83e314454f1b 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -7240,6 +7240,8 @@ gfc_get_dataptr_offset (stmtblock_t *block, tree parm, tree desc, tree offset,
 	      break;
 
 	    case REF_SUBSTRING:
+	      if (TREE_CODE (TREE_TYPE (tmp)) == POINTER_TYPE)
+		tmp = build_fold_indirect_ref_loc (input_location, tmp);
 	      gcc_assert (TREE_CODE (TREE_TYPE (tmp)) == ARRAY_TYPE);
 	      gfc_init_se (&start, NULL);
 	      gfc_conv_expr_type (&start, ref->u.ss.start, gfc_charlen_type_node);


More information about the Gcc-cvs mailing list