aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2005-05-11 18:25:30 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2005-05-11 16:25:30 +0000
commitb4660e5a25f13ced54b19e637cdf5ed3d0ff1770 (patch)
tree9b77e37a7adbdb5597d14331019fbd8e25756e47 /gcc/tree.c
parent3ca48b3e7251f931b0a8af263d31043078ffb701 (diff)
downloadgcc-b4660e5a25f13ced54b19e637cdf5ed3d0ff1770.zip
gcc-b4660e5a25f13ced54b19e637cdf5ed3d0ff1770.tar.gz
gcc-b4660e5a25f13ced54b19e637cdf5ed3d0ff1770.tar.bz2
Makefile.in (tree-eh.o): Kill gt-tree-eh.h dependency.
* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency. (GTFILES): add except.h. * except.c (eh_status): Add throw_stmt_table. (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions. * except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn, lookup_stmt_eh_region_fn): Declare. (throw_stmt_node): New structure. (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New. * gengtype.c (open_base_files): Add except.h to inlines. * tree-eh.c (throw_stmt_node): Kill. (record_stmt_eh_region): Update. (add_stmt_to_eh_region_fn): Break out from ... (add_stmt_to_eh_region): ... here. (remove_stmt_from_eh_region_fn): Break out from ... (remove_stmt_from_eh_region): ... here. (lookup_stmt_eh_region_fn): Break out from ... (lookup_stmt_eh_region): ... here. (honor_protect_cleanup_actions): Use build_resx. (lower_try_finally_onedest): Likewise. (lower_try_finally_copy): Likewise. (lower_try_finally_switch): Likewise. (lower_eh_constructs): Update eh table construction. * tree.c (build_resx): New. * tree.h (build_resx): Declare. From-SVN: r99585
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index ed46248..3297772 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5972,6 +5972,16 @@ build_vector_type (tree innertype, int nunits)
return make_vector_type (innertype, nunits, VOIDmode);
}
+/* Build RESX_EXPR with given REGION_NUMBER. */
+tree
+build_resx (int region_number)
+{
+ tree t;
+ t = build1 (RESX_EXPR, void_type_node,
+ build_int_cst (NULL_TREE, region_number));
+ return t;
+}
+
/* Given an initializer INIT, return TRUE if INIT is zero or some
aggregate of zeros. Otherwise return FALSE. */
bool