https://gcc.gnu.org/g:967bb604989bb118ad20c414d83a2be3a7899a44

commit 967bb604989bb118ad20c414d83a2be3a7899a44
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 ddf5fbccec1e..bc9f066778f0 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -3564,7 +3564,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