https://gcc.gnu.org/g:b60ecf440ea8d86f60add34b1476c6e1854e9f97
commit b60ecf440ea8d86f60add34b1476c6e1854e9f97 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 f41b731eac86..6e8f9c3cb815 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;
