https://gcc.gnu.org/g:757648b6156ab919aa8a47add4f1bd8b148178d5
commit 757648b6156ab919aa8a47add4f1bd8b148178d5 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 09498399d1c6..d5306b935b3e 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -851,7 +851,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);