https://gcc.gnu.org/g:061c287f036566aa722e0e60b6ab72c66131ce9e
commit 061c287f036566aa722e0e60b6ab72c66131ce9e Author: Mikael Morin <mik...@gcc.gnu.org> Date: Tue Sep 23 15:36:13 2025 +0200 Correction régression class_allocate_19.f03 Diff: --- gcc/fortran/trans-array.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index e1d13c5b1717..78c50797865a 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -3805,6 +3805,7 @@ classify_array_ref (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; @@ -3849,6 +3850,7 @@ build_array_ref (gfc_se *se, tree array, tree ref_base, gfc_expr *expr, { tree decl = NULL_TREE; if (is_pointer_array (array) + || (expr && UNLIMITED_POLY (expr)) || (expr && expr->ts.deferred && array && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (array)))) {