diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-12 19:29:21 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-12 19:29:21 +0000 |
commit | 0de999f197a88a5f7a1cd00f30d901228bab4558 (patch) | |
tree | e8fbec3fe9a12f57e69dd33bd03e77391cc8bc6b /gcc/except.h | |
parent | 81e19b315c09e2f08de19bd5838caa8221eb3a99 (diff) | |
download | gcc-0de999f197a88a5f7a1cd00f30d901228bab4558.tar.gz |
* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
duplicate_eh_regions): New functions, based on old
implementation removed with RTL inliner.
(reachable_next_level): Modify behaviour pre-inline.
* except.h (duplicate_eh_regions_map, duplicate_eh_regions):
Declare.
* function.h (struct function): Add after_inlining flag.
* tree-optimize.c (tree_rest_of_compilation): Set it.
* tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
when needed.
* tree-cfg.c (label_to_block_fn): Deal with cases where
label was never insterted into code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99625 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.h')
-rw-r--r-- | gcc/except.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/except.h b/gcc/except.h index 746b3d4aca8..9526b865909 100644 --- a/gcc/except.h +++ b/gcc/except.h @@ -81,6 +81,8 @@ extern void expand_eh_return (void); extern rtx expand_builtin_extend_pointer (tree); extern rtx get_exception_pointer (struct function *); extern rtx get_exception_filter (struct function *); +typedef tree (*duplicate_eh_regions_map) (tree, void *); +extern int duplicate_eh_regions (struct function *, duplicate_eh_regions_map, void *, int); extern void sjlj_emit_function_exit_after (rtx); |