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

commit aa2974e0978e707d95ea79c89c94ff21841eb4c9
Author: Mikael Morin <[email protected]>
Date:   Tue Sep 23 21:17:48 2025 +0200

    Correction régression unlimited_polymorphic_17.f90

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

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index ff4751767693..1e3280dcaa62 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -3656,7 +3656,8 @@ is_class_array_ref (gfc_se *se, tree base, gfc_expr 
*expr, gfc_array_ref *ar,
        *class_descr = se->class_container;
       return true;
     }
-  else if (ar && ar->type == AR_ELEMENT)
+  else if (ar && ar->type == AR_ELEMENT
+          && !(expr && UNLIMITED_POLY (expr)))
     return false;
 
   tmp = !VAR_P (base) ? gfc_get_class_from_expr (base) : NULL_TREE;
@@ -3819,7 +3820,6 @@ classify_array_ref (gfc_se *se, tree array, tree 
ref_base, gfc_expr *expr,
     return ARS_CFI_PTR_ARITH;
 
   if (is_pointer_array (array)
-      || (expr && UNLIMITED_POLY (expr))
       || (expr && expr->ts.deferred && array
          && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (array))))
     return ARS_SPANNED_PTR_ARITH;

Reply via email to