summaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-05 14:45:23 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-05 14:45:23 +0000
commit390f4a4b5eb4ff6f4f06d7346d641729703bbad6 (patch)
tree4ff07f0d40ea5cef8af4fe46b0f91b0ca63c916a /gcc/except.h
parentf5f9d87c0243ce7d99422290997432990a4d8de9 (diff)
downloadgcc-390f4a4b5eb4ff6f4f06d7346d641729703bbad6.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196464 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/except.h b/gcc/except.h
index 6c202415f83..bc9654a7ae4 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -229,6 +229,7 @@ extern void init_eh_for_function (void);
extern void remove_eh_landing_pad (eh_landing_pad);
extern void remove_eh_handler (eh_region);
+extern void remove_unreachable_eh_regions (sbitmap);
extern bool current_function_has_exception_handlers (void);
extern void output_function_exception_table (const char *);