aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@act-europe.fr>2003-08-31 13:18:59 +0200
committerOlivier Hainque <hainque@gcc.gnu.org>2003-08-31 11:18:59 +0000
commit7c66d5f5f91c0e83d53ad9f9fbc129675d0dea08 (patch)
treebab81521cede3b37dc3085081b16bbae39fab601 /gcc/builtins.c
parent2ed26f6bd11f3e6321338fc6423257f418e1081c (diff)
downloadgcc-7c66d5f5f91c0e83d53ad9f9fbc129675d0dea08.zip
gcc-7c66d5f5f91c0e83d53ad9f9fbc129675d0dea08.tar.gz
gcc-7c66d5f5f91c0e83d53ad9f9fbc129675d0dea08.tar.bz2
builtins.c (expand_builtin_setjmp): Use emit_jump to jump around the != 0 case...
* builtins.c (expand_builtin_setjmp): Use emit_jump to jump around the != 0 case, which ensures pending stack adjustments are flushed. From-SVN: r70958
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index bdb29ce..c63d812 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -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);