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);
 }

Reply via email to