https://gcc.gnu.org/g:d902aa1cfb4945bd1a03fdd2fc585d2d85900470
commit d902aa1cfb4945bd1a03fdd2fc585d2d85900470 Author: Mikael Morin <[email protected]> Date: Sun Sep 20 15:04:02 2026 +0200 Essai correction ICE class_allocate_22 Diff: --- gcc/fortran/trans-expr.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index c07108cbaab1..ca384888bee3 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -1297,7 +1297,8 @@ gfc_conv_class_to_class (gfc_se *parmse, gfc_expr *e, gfc_typespec class_ts, if ((ref == NULL || class_ref == ref) && !(gfc_is_class_array_function (e) && parmse->class_vptr != NULL_TREE) && (!class_ts.u.derived->components->as - || class_ts.u.derived->components->as->rank != -1)) + || class_ts.u.derived->components->as->rank != -1) + && !(e->expr_type == EXPR_FUNCTION && e->value.function.isym)) return; /* Test for FULL_ARRAY. */
