[gcc(refs/users/mikael/heads/refactor_descriptor_v08)] Correction régression transfer_class_3.f90

Mikael Morin mikael@gcc.gnu.org
Mon Sep 22 14:05:21 GMT 2025


https://gcc.gnu.org/g:5759e24d812c727cf64a2e8387dbb96a7700ebab

commit 5759e24d812c727cf64a2e8387dbb96a7700ebab
Author: Mikael Morin <mikael@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


More information about the Gcc-cvs mailing list