builtins.c (expand_builtin_setjmp): Use emit_jump to jump around the != 0 case...
authorOlivier Hainque <hainque@act-europe.fr>
Sun, 31 Aug 2003 11:18:59 +0000 (13:18 +0200)
committerOlivier Hainque <hainque@gcc.gnu.org>
Sun, 31 Aug 2003 11:18:59 +0000 (11:18 +0000)
        * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
        the != 0 case, which ensures pending stack adjustments are flushed.

From-SVN: r70958

gcc/ChangeLog
gcc/builtins.c

index 16cc814..790f581 100644 (file)
@@ -1,3 +1,8 @@
+2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
+
+        * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
+        the != 0 case, which ensures pending stack adjustments are flushed.
+
 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
 
        * configure.frag: Delete file.
index bdb29ce..c63d812 100644 (file)
@@ -639,10 +639,11 @@ expand_builtin_setjmp (tree arglist, rtx target)
 
   expand_builtin_setjmp_setup (buf_addr, next_lab);
 
-  /* Set TARGET to zero and branch to the continue label.  */
+  /* Set TARGET to zero and branch to the continue label.  Use emit_jump to
+     ensure that pending stack adjustments are flushed.  */
   emit_move_insn (target, const0_rtx);
-  emit_jump_insn (gen_jump (cont_lab));
-  emit_barrier ();
+  emit_jump (cont_lab);
+
   emit_label (next_lab);
 
   expand_builtin_setjmp_receiver (next_lab);