re PR c++/55135 (Segfault of gcc on a big file)
commitd273b1767420781173a2d2b6ff9570b172756bf7
authorSteven Bosscher <steven@gcc.gnu.org>
Tue, 5 Mar 2013 14:45:23 +0000 (5 14:45 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Tue, 5 Mar 2013 14:45:23 +0000 (5 14:45 +0000)
tree4ff07f0d40ea5cef8af4fe46b0f91b0ca63c916a
parent574f9d7ecdea31bb7c611ae6d99efef10fb8cd0a
re PR c++/55135 (Segfault of gcc on a big file)

gcc/
PR c++/55135
* except.h (remove_unreachable_eh_regions): New prototype.
* except.c (remove_eh_handler_splicer): New function, split out
of remove_eh_handler.
(remove_eh_handler): Use remove_eh_handler_splicer.  Add comment
warning about running it on many EH regions one at a time.
(remove_unreachable_eh_regions_worker): New function, walk the
EH tree in depth-first order and remove non-marked regions.
(remove_unreachable_eh_regions): New function.
* tree-eh.c (mark_reachable_handlers): New function, split out
from remove_unreachable_handlers.
(remove_unreachable_handlers): Use mark_reachable_handlers and
remove_unreachable_eh_regions.
(remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
and remove_unreachable_eh_regions.

From-SVN: r196464
gcc/ChangeLog
gcc/except.c
gcc/except.h
gcc/tree-eh.c