https://gcc.gnu.org/g:cb16a9e756c1b6bbe15282a684a21c101ff79d89

commit cb16a9e756c1b6bbe15282a684a21c101ff79d89
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Sun May 18 11:20:40 2025 +0200

    Correction régression class_67

Diff:
---
 gcc/fortran/trans-expr.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc
index ba32bd9bfd07..8b4ad9978755 100644
--- a/gcc/fortran/trans-expr.cc
+++ b/gcc/fortran/trans-expr.cc
@@ -1281,7 +1281,9 @@ 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)
+      && !(gfc_is_class_array_function (e)
+          && (parmse->class_vptr != NULL_TREE
+              || parmse->class_container != NULL_TREE))
       && (!class_ts.u.derived->components->as
          || class_ts.u.derived->components->as->rank != -1))
     return;

Reply via email to