aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorMike Stump <mrs@wrs.com>1998-06-02 20:11:21 +0000
committerJeff Law <law@gcc.gnu.org>1998-06-02 14:11:21 -0600
commit0bc02db4e61cfc1ab8e408d88f7a2e09f8b1cef0 (patch)
tree149e177d352af6c612cef699a23f5ac907ea20ec /gcc/expr.c
parent666e0f5ad52098975ed535bc3f3a128aa5c8bf51 (diff)
downloadgcc-0bc02db4e61cfc1ab8e408d88f7a2e09f8b1cef0.zip
gcc-0bc02db4e61cfc1ab8e408d88f7a2e09f8b1cef0.tar.gz
gcc-0bc02db4e61cfc1ab8e408d88f7a2e09f8b1cef0.tar.bz2
expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
* expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE. * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define. * i960.md (ret, flush_register_windows): Define. (nonlocal_goto): Likewise. Nested function nonlocal gotos don't work yet. * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro. From-SVN: r20192
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index b8b1ab8..f6b5216 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -7725,11 +7725,15 @@ expand_builtin_setjmp (buf_addr, target, first_label, next_label)
emit_queue ();
+#ifndef BUILTIN_SETJMP_FRAME_VALUE
+#define BUILTIN_SETJMP_FRAME_VALUE virtual_stack_vars_rtx
+#endif
+
/* We store the frame pointer and the address of lab1 in the buffer
and use the rest of it for the stack save area, which is
machine-dependent. */
emit_move_insn (gen_rtx_MEM (Pmode, buf_addr),
- virtual_stack_vars_rtx);
+ BUILTIN_SETJMP_FRAME_VALUE);
emit_move_insn (validize_mem
(gen_rtx_MEM (Pmode,
plus_constant (buf_addr,