[gcc(refs/users/mikael/heads/refactor_descriptor_v08)] Correction régression findloc_10.f90
Mikael Morin
mikael@gcc.gnu.org
Mon Sep 22 14:05:16 GMT 2025
https://gcc.gnu.org/g:c97b4f31a8be1cb0dad7bc888239f8f98fb5639a
commit c97b4f31a8be1cb0dad7bc888239f8f98fb5639a
Author: Mikael Morin <mikael@gcc.gnu.org>
Date: Mon Sep 22 15:41:44 2025 +0200
Correction régression findloc_10.f90
Diff:
---
gcc/fortran/trans-array.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index b6ce66b3b646..a6cd2fee8c01 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -7313,7 +7313,11 @@ gfc_get_dataptr_offset (stmtblock_t *block, tree parm, tree desc, tree offset,
}
/* Set the target data pointer. */
- offset = gfc_build_addr_expr (gfc_array_dataptr_type (desc), tmp);
+ if (TREE_CODE (TREE_TYPE (tmp)) == POINTER_TYPE
+ && TYPE_STRING_FLAG (TREE_TYPE (TREE_TYPE (tmp))))
+ offset = fold_convert (gfc_array_dataptr_type (desc), tmp);
+ else
+ offset = gfc_build_addr_expr (gfc_array_dataptr_type (desc), tmp);
if (se.post.head != NULL_TREE)
{
offset = gfc_evaluate_now (offset, block);
More information about the Gcc-cvs
mailing list