aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-06-30 16:30:21 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2005-06-30 16:30:21 +0200
commit3aebbe5f49f9b9ccda66fc1eb907603e84813878 (patch)
tree4043695a51d7d9562a87d61e43938fa5c73948dc /gcc/function.c
parent7d5175e1e494e0a514019347723b7afc34a459db (diff)
downloadgcc-3aebbe5f49f9b9ccda66fc1eb907603e84813878.zip
gcc-3aebbe5f49f9b9ccda66fc1eb907603e84813878.tar.gz
gcc-3aebbe5f49f9b9ccda66fc1eb907603e84813878.tar.bz2
function.c (stack_protect_epilogue): Pass label to stack_protect_test, assume it emitted also the conditional branch.
* function.c (stack_protect_epilogue): Pass label to stack_protect_test, assume it emitted also the conditional branch. * doc/md.texi (stack_protect_test): Adjust documentation. * config/i386/i386.md (stack_protect_test): Add third argument, emit beq with operands[2]. * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Define to flag_stack_protect != 0. * config/rs6000/rs6000.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants. (stack_protect_set, stack_protect_test): New expanders. (stack_protect_setsi, stack_protect_setdi, stack_protect_testsi, stack_protect_testdi): New insns. * config/rs6000/rs6000.c (rs6000_stack_protect_fail): New function. (TARGET_STACK_PROTECT_FAIL): Define. (rs6000_generate_compare): Handle UNSPEC_SP_TEST. From-SVN: r101468
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c
index d514560..9727e6d 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3995,11 +3995,10 @@ stack_protect_epilogue (void)
switch (HAVE_stack_protect_test != 0)
{
case 1:
- tmp = gen_stack_protect_test (x, y);
+ tmp = gen_stack_protect_test (x, y, label);
if (tmp)
{
emit_insn (tmp);
- emit_jump_insn (bcc_gen_fctn[EQ] (label));
break;
}
/* FALLTHRU */