https://gcc.gnu.org/g:a95a41bb689cbcd05a5ae49d78daa1d78d52940a
commit a95a41bb689cbcd05a5ae49d78daa1d78d52940a Author: Mikael Morin <[email protected]> Date: Mon Oct 19 15:00:20 2026 +0200 Correction partielle class_array_20 Diff: --- gcc/fortran/trans-expr.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index 735eb93d9541..945de1ca3b79 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -1966,7 +1966,10 @@ trans_scalar_class_assign (stmtblock_t *block, gfc_se *lse, gfc_se *rse) if (!GFC_CLASS_TYPE_P (TREE_TYPE (rse->expr)) || not_call_expr) { - tmp = gfc_get_class_from_expr (rse->expr); + if (rse->class_container != NULL_TREE) + tmp = rse->class_container; + else + tmp = gfc_get_class_from_expr (rse->expr); if (tmp == NULL_TREE) return false; rse_expr = gfc_evaluate_now (tmp, block);
