summaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-28 09:08:52 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-28 09:08:52 +0000
commita5bfef5b903f411fa79333e850b65d304835a159 (patch)
tree4ebe94b877890d5f85418fb99ec4730610bcb172 /gcc/except.h
parent86ecf8ad3e82852c1c5992e005c60409833f7549 (diff)
downloadgcc-a5bfef5b903f411fa79333e850b65d304835a159.tar.gz
* tree-eh.c (inlinable_call_p): New function.
(make_eh_edges): Use it. (verify_eh_edges): Use it. (stmt_can_throw_external, stmt_can_throw_internal): Use it. * except.c (reachable_next_level): Add inlinable_function argument (sjlj_find_directly_reachable_regions): Update. (add_reachable_handler): Do not set saw_any_handlers. (reachable_next_level): Handle MUST_NOT_THROW more curefully. (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1): Add new inlinable call parameter. (can_throw_internal, can_throw_external): Update. * except.h (can_throw_internal_1, can_throw_external_1, foreach_reachable_handler): Update declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145166 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.h')
-rw-r--r--gcc/except.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/except.h b/gcc/except.h
index 9f83a9948f8..b32312ea373 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -44,9 +44,9 @@ extern void for_each_eh_label (void (*) (rtx));
extern void for_each_eh_region (void (*) (struct eh_region *));
/* Determine if the given INSN can throw an exception. */
-extern bool can_throw_internal_1 (int, bool);
+extern bool can_throw_internal_1 (int, bool, bool);
extern bool can_throw_internal (const_rtx);
-extern bool can_throw_external_1 (int, bool);
+extern bool can_throw_external_1 (int, bool, bool);
extern bool can_throw_external (const_rtx);
/* Set TREE_NOTHROW and cfun->all_throwers_are_sibcalls. */
@@ -97,7 +97,7 @@ extern bool get_eh_region_may_contain_throw (struct eh_region *);
extern tree get_eh_region_tree_label (struct eh_region *);
extern void set_eh_region_tree_label (struct eh_region *, tree);
-extern void foreach_reachable_handler (int, bool,
+extern void foreach_reachable_handler (int, bool, bool,
void (*) (struct eh_region *, void *),
void *);