https://gcc.gnu.org/g:c48991de146e5827e9c647f2176e4d51e80c36ff
commit c48991de146e5827e9c647f2176e4d51e80c36ff Author: Mikael Morin <mik...@gcc.gnu.org> Date: Thu May 15 19:29:10 2025 +0200 Correction régression select_type_50 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 f4838f2d48c7..ba32bd9bfd07 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -830,7 +830,9 @@ gfc_conv_derived_to_class (gfc_se *parmse, gfc_expr *e, gfc_symbol *fsym, var = gfc_create_var (tmp, "class"); /* Set the vptr. */ - if (opt_vptr_src) + if (parmse->class_container) + gfc_class_set_vptr (&parmse->pre, var, parmse->class_container); + else if (opt_vptr_src) gfc_class_set_vptr (&parmse->pre, var, opt_vptr_src); else gfc_reset_vptr (&parmse->pre, e, var);