https://gcc.gnu.org/g:2528fc76b5cf9e38c3d03fdd81188b3665aec70f
commit 2528fc76b5cf9e38c3d03fdd81188b3665aec70f Author: Mikael Morin <mik...@gcc.gnu.org> Date: Mon Sep 22 16:04:36 2025 +0200 Correction régression transfer_class_3.f90 Diff: --- gcc/fortran/trans-intrinsic.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc index ddbd644309b2..8810b398b37d 100644 --- a/gcc/fortran/trans-intrinsic.cc +++ b/gcc/fortran/trans-intrinsic.cc @@ -8671,9 +8671,12 @@ gfc_conv_intrinsic_transfer (gfc_se * se, gfc_expr * expr) gcc_assert (arg->expr->expr_type == EXPR_VARIABLE); source = argse.expr; class_expr = gfc_find_and_cut_at_last_class_ref (arg->expr); - gfc_init_se (&argse, NULL); - gfc_conv_expr (&argse, class_expr); - class_ref = argse.expr; + gfc_se class_se; + gfc_init_se (&class_se, NULL); + gfc_conv_expr (&class_se, class_expr); + class_ref = class_se.expr; + gfc_add_block_to_block (&argse.pre, &class_se.pre); + gfc_add_block_to_block (&argse.post, &class_se.post); } } else