https://gcc.gnu.org/g:356f5685069c368f73ae99071a086d045956e05e

commit 356f5685069c368f73ae99071a086d045956e05e
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 d088ddd4e9c4..b194847880c0 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -13028,6 +13028,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.  */
@@ -13088,6 +13090,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