diff options
author | Jakub Jelinek <jakub@redhat.com> | 2003-08-27 12:52:09 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2003-08-27 12:52:09 +0200 |
commit | b7bc76e3212071f97d999e5e9fd302fe984dae4d (patch) | |
tree | 3e8fb1c2bde96aeaa58b82d6a0b7220780808412 /gcc/builtins.c | |
parent | 648bb15912c20dcc1a601bd0f7c35a8cdb26bbdf (diff) | |
download | gcc-b7bc76e3212071f97d999e5e9fd302fe984dae4d.zip gcc-b7bc76e3212071f97d999e5e9fd302fe984dae4d.tar.gz gcc-b7bc76e3212071f97d999e5e9fd302fe984dae4d.tar.bz2 |
builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust and restore it if returning NULL.
* builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
and restore it if returning NULL.
* gcc.dg/20030826-2.c: New test.
From-SVN: r70844
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 227bb49..37dc4e5 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -4330,6 +4330,7 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label) && (integer_zerop (arg1) || integer_onep (arg1))) { int num_jumps = 0; + int save_pending_stack_adjust = pending_stack_adjust; rtx insn; /* If we fail to locate an appropriate conditional jump, we'll @@ -4421,7 +4422,10 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label) /* If no jumps were modified, fail and do __builtin_expect the normal way. */ if (num_jumps == 0) - ret = NULL_RTX; + { + ret = NULL_RTX; + pending_stack_adjust = save_pending_stack_adjust; + } } return ret; |