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);

Reply via email to