* function.c (nonlocal_goto_handler_slots): Renamed from
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Nov 1998 07:37:42 +0000 (07:37 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Nov 1998 07:37:42 +0000 (07:37 +0000)
commit0deb06c7a40b6356e8cb63f9ad1179377312452d
treea92aab8090880174e955a4c9c4a9f38938ea2d05
parente82e3e5268a59ad3589d45bbe5a4f552d3a65f17
    * 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
gcc/ChangeLog
gcc/calls.c
gcc/config/i960/i960.md
gcc/config/sparc/sparc.md
gcc/explow.c
gcc/expr.h
gcc/function.c
gcc/function.h
gcc/stmt.c