https://gcc.gnu.org/g:39c560114fdba6c37e37cf87431068831108f671

commit 39c560114fdba6c37e37cf87431068831108f671
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 de1767ba4090..0fd5a84a9e01 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -13031,6 +13031,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.  */
@@ -13104,6 +13106,9 @@ conv_intrinsic_move_alloc (gfc_code *code)
   if (fin_label)
     gfc_add_expr_to_block (&block, build1_v (LABEL_EXPR, fin_label));
 
+  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