summaryrefslogtreecommitdiff
path: root/gcc/tree-outof-ssa.c
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-28 17:00:54 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-28 17:00:54 +0000
commit655daedd4eabc8f20ae5bfdbd69028ef5966f006 (patch)
treefad15e9d1f8f69570d92a62e3714608f221b5abf /gcc/tree-outof-ssa.c
parentfb0ac37652a89ad78d1725c082bd88752bdf06a0 (diff)
downloadgcc-655daedd4eabc8f20ae5bfdbd69028ef5966f006.tar.gz
2007-10-28 Andrew Pinski <pinskia@gmail.com>
PR tree-opt/33589 * tree-outof-ssa.c (rewrite_trees): If the statement changed, cleanup the eh information on the statement. 2007-10-28 Andrew Pinski <pinskia@gmail.com> PR tree-opt/33589 * g++.dg/torture/pr33589-1.C: New testcase. * g++.dg/torture/pr33589-2.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129700 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-outof-ssa.c')
-rw-r--r--gcc/tree-outof-ssa.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index d01c663b2c5..fd22d327fe9 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -758,7 +758,12 @@ rewrite_trees (var_map map, tree *values)
if (remove)
bsi_remove (&si, true);
else
- bsi_next (&si);
+ {
+ if (changed)
+ if (maybe_clean_or_replace_eh_stmt (stmt, stmt))
+ tree_purge_dead_eh_edges (bb);
+ bsi_next (&si);
+ }
}
phi = phi_nodes (bb);