https://gcc.gnu.org/g:24853a1a8c93982b5659d7cccb996d6a2f1c5b40
commit 24853a1a8c93982b5659d7cccb996d6a2f1c5b40 Author: Mikael Morin <mik...@gcc.gnu.org> Date: Fri Mar 7 13:48:42 2025 +0100 Correction régression recursive_alloc_comp_4.f08 Diff: --- gcc/fortran/trans-intrinsic.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc index b2fc6d4869a3..a52a51e0c422 100644 --- a/gcc/fortran/trans-intrinsic.cc +++ b/gcc/fortran/trans-intrinsic.cc @@ -13018,6 +13018,8 @@ conv_intrinsic_move_alloc (gfc_code *code) } gfc_conv_expr_descriptor (&to_se, to_expr); gfc_conv_expr_descriptor (&from_se, from_expr); + gfc_add_block_to_block (&block, &to_se.pre); + gfc_add_block_to_block (&block, &from_se.pre); /* For coarrays, call SYNC ALL if TO is already deallocated as MOVE_ALLOC is an image control "statement", cf. IR F08/0040 in 12-006A. */ @@ -13078,6 +13080,9 @@ conv_intrinsic_move_alloc (gfc_code *code) build_int_cst (TREE_TYPE (from_se.string_length), 0)); } + gfc_add_block_to_block (&block, &to_se.post); + gfc_add_block_to_block (&block, &from_se.post); + return gfc_finish_block (&block); }