https://gcc.gnu.org/g:0ad27838d2520f1e4059cb104ebfbcdab9fbb466

commit 0ad27838d2520f1e4059cb104ebfbcdab9fbb466
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 15528d407d9d..fd7bdcf0b333 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -13656,6 +13656,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.  */
@@ -13716,6 +13718,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);
 }

Reply via email to