* expr.c (expand_expr): When compiling LABELED_BLOCK_EXPR,
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 2 May 2001 02:04:27 +0000 (02:04 +0000)
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 2 May 2001 02:04:27 +0000 (02:04 +0000)
call do_pending_stack_adjust before emiting label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41753 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index 95cb78c..dcb64e5 100644 (file)
@@ -1,3 +1,8 @@
+2001-05-01  Per Bothner  <per@bothner.com>
+
+       * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
+       call do_pending_stack_adjust before emiting label.
+
 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
 
        * extend.texi: Fix typo.
index 2ad473c..0ef52f5 100644 (file)
@@ -6603,6 +6603,8 @@ expand_expr (exp, target, tmode, modifier)
     case LABELED_BLOCK_EXPR:
       if (LABELED_BLOCK_BODY (exp))
        expand_expr_stmt (LABELED_BLOCK_BODY (exp));
+      /* Should perhaps use expand_label, but this is simpler and safer. */
+      do_pending_stack_adjust ();
       emit_label (label_rtx (LABELED_BLOCK_LABEL (exp)));
       return const0_rtx;