summaryrefslogtreecommitdiffstats
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-14 10:47:48 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-14 10:47:48 +0000
commit836074a5f7891afcccf23cc867c7ce4a9f1bbc5f (patch)
treeba3d2a54e12acf5a6f8ebf12cf291d3eb2f05ffb /gcc/cfgexpand.c
parentd0dcdbba3fd5956322670e7384f47c5fb81dd8a9 (diff)
downloadppe42-gcc-836074a5f7891afcccf23cc867c7ce4a9f1bbc5f.tar.gz
ppe42-gcc-836074a5f7891afcccf23cc867c7ce4a9f1bbc5f.zip
* tree-eh.c (add_stmt_to_eh_region_fn): Do not add call_exprs
separately. (remove_stmt_from_eh_region_fn): Do not remove call_exprs. (verify_eh_throw_stmt_node, verify_eh_throw_table_statements): Kill. * except.h (verify_eh_throw_table_statements): Kill prototype. * cfgexpand.c (expand_gimple_basic_block): Propagate Eh regions into call exrepssions. * tree-optimize.c (execute_free_cfg_annotatiosn): Do not call eh trhow verifier. * tree-cfg.c: Include pointer-set.h. (verify_node_sharing): Work on pointer set. (verify_eh_throw_stmt_node): New. (verify_stmts): Use pointers sets, verify throw_stmt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120766 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index b8d44a65e0c..b91af8ef799 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -1512,6 +1512,13 @@ expand_gimple_basic_block (basic_block bb)
else
{
tree call = get_call_expr_in (stmt);
+ int region;
+ /* For the benefit of calls.c, converting all this to rtl,
+ we need to record the call expression, not just the outer
+ modify statement. */
+ if (call && call != stmt
+ && (region = lookup_stmt_eh_region (stmt)) > 0)
+ add_stmt_to_eh_region (call, region);
if (call && CALL_EXPR_TAILCALL (call))
{
bool can_fallthru;
OpenPOWER on IntegriCloud