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; }