diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-11-20 07:37:42 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-11-20 07:37:42 +0000 |
commit | 0deb06c7a40b6356e8cb63f9ad1179377312452d (patch) | |
tree | a92aab8090880174e955a4c9c4a9f38938ea2d05 /gcc/explow.c | |
parent | e82e3e5268a59ad3589d45bbe5a4f552d3a65f17 (diff) | |
download | gcc-0deb06c7a40b6356e8cb63f9ad1179377312452d.tar.gz |
* function.c (nonlocal_goto_handler_slots): Renamed from
nonlocal_goto_handler_slot; now an EXPR_LIST chain.
(push_function_context_to): Adjust for this change.
(pop_function_context_from): Likewise.
(init_function_start): Likewise.
(expand_function_end): Likewise.
* function.h (struct function): Likewise.
* calls.c (expand_call): Likewise.
* explow.c (allocate_dynamic_stack_space): Likewise.
* expr.h (nonlocal_goto_handler_slots): Rename its declaration.
* stmt.c (declare_nonlocal_label): Make a new handler slot for each
label.
(expand_goto): When doing a nonlocal goto, find corresponding handler
slot for it. Don't put the label address in the static chain register.
(expand_end_bindings): Break out nonlocal goto handling code into
three new functions.
(expand_nl_handler_label, expand_nl_goto_receiver,
expand_nl_goto_receivers): New static functions, broken out of
expand_end_bindings and adapted to create one handler per nonlocal
label.
* function.c (delete_handlers): Delete insn if it references any of
the nonlocal goto handler slots.
* i960.md (nonlocal_goto): Comment out code that modifies
static_chain_rtx.
* sparc.md (nonlocal_goto): Likewise.
(goto_handler_and_restore_v9): Comment out.
(goto_handler_and_restore_v9_sp64): Comment out.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23732 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 0dbf002b4d2..e4ef27dc37f 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -1303,7 +1303,7 @@ allocate_dynamic_stack_space (size, target, known_align) #endif /* Record the new stack level for nonlocal gotos. */ - if (nonlocal_goto_handler_slot != 0) + if (nonlocal_goto_handler_slots != 0) emit_stack_save (SAVE_NONLOCAL, &nonlocal_goto_stack_level, NULL_RTX); return target; |