except.h (struct eh_queue): Add `next' pointer.
authorMark Mitchell <mark@codesourcery.com>
Sun, 12 Dec 1999 18:32:36 +0000 (18:32 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sun, 12 Dec 1999 18:32:36 +0000 (18:32 +0000)
commitf54a7f6fe2ad7880795807b573192edafe5e046d
tree1e31e6a584113226ea69f8fdf57bada3aa50bfe1
parentd0017c11ff277f6e7aad314240da8f32c2d17069
except.h (struct eh_queue): Add `next' pointer.

* except.h (struct eh_queue): Add `next' pointer.
(struct eh_status): Make x_ehqueue a pointer.
(push_ehqueue):  Declare.
(pop_ehqueue): Likewise.
* except.c (expand_eh_region_end): Adjust now that ehqueue is a
pointer.
(expand_fixup_region_end): Likewise.
(expand_leftover_cleanups): Likewise.
(push_ehqueue): Define.
(pop_ehqueue): Likewise.
(emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
than doing it inline.
(expand_start_all_catch):  Adjust now that ehqueue is a
pointer.
(mark_eh_queue): Mark all level of the queue.
(mark_eh_status):  Adjust now that ehqueue is a
pointer.
(init_eh_for_function): Allocate ehqueue.
(free_eh_status): Free it.
* stmt.c (expand_cleanups): Save the ehqueue around the cleanup
expansion for a fixup.

From-SVN: r30874
gcc/ChangeLog
gcc/except.c
gcc/except.h
gcc/stmt.c