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

commit c90e3f0c87d625801016d37ab3cfec7f01a52db6
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Thu May 8 12:15:27 2025 +0200

    Correction régression pr33074

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 dddd5f18ecac..2a3bbf0b2d97 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -3683,7 +3683,11 @@ static tree
 build_array_ref (tree array, tree offset, bool use_array_ref)
 {
   if (use_array_ref)
-    return gfc_build_array_ref (array, offset, true);
+    {
+      if (TREE_CODE (TREE_TYPE (array)) == POINTER_TYPE)
+       array = build_fold_indirect_ref_loc (input_location, array);
+      return gfc_build_array_ref (array, offset, true);
+    }
  
   tree ptr = gfc_conv_array_data (array);
   gcc_assert (TREE_CODE (TREE_TYPE (ptr)) == POINTER_TYPE);

Reply via email to