https://gcc.gnu.org/g:29d1663edd3541b4e6d1f95fbbb63c984dee0a97

commit 29d1663edd3541b4e6d1f95fbbb63c984dee0a97
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Mon Sep 22 22:06:07 2025 +0200

    Correction régression associate_48.f90

Diff:
---
 gcc/fortran/trans-array.cc | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index 2d2e4ee5b329..d3e45734894b 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -3809,13 +3809,14 @@ classify_array_ref (tree array, tree ref_base, gfc_expr 
*expr,
          && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (array))))
     return ARS_SPANNED_PTR_ARITH;
 
-  if (is_class_array_ref (ref_base, expr, nullptr))
+  if (!(ar && ar->type == AR_ELEMENT)
+      && is_class_array_ref (ref_base, expr, nullptr))
     return ARS_CLASS_PTR_ARITH;
 
   if (tmp_array || non_negative_strides_array_p (array))
-    return ARS_SPANNED_PTR_ARITH;
+    return ARS_REGULAR_ARRAY_REF;
 
-  return ARS_REGULAR_ARRAY_REF;
+  return ARS_SPANNED_PTR_ARITH;
 }

Reply via email to