diff options
author | Olivier Hainque <hainque@act-europe.fr> | 2003-08-31 13:18:59 +0200 |
---|---|---|
committer | Olivier Hainque <hainque@gcc.gnu.org> | 2003-08-31 11:18:59 +0000 |
commit | 7c66d5f5f91c0e83d53ad9f9fbc129675d0dea08 (patch) | |
tree | bab81521cede3b37dc3085081b16bbae39fab601 /gcc | |
parent | 2ed26f6bd11f3e6321338fc6423257f418e1081c (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/builtins.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 16cc814..790f581 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. 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); |