summaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-04 16:29:32 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-04 16:29:32 +0000
commitdbdaaad01d866c0620f69b9b78b8dadef5425e54 (patch)
treee33b3e9de333f52a13c558fd7673b162344b00ce /gcc/tree-cfg.c
parentf8d0d78ad1b8990f992f4acc411e849cd1185f8c (diff)
downloadgcc-dbdaaad01d866c0620f69b9b78b8dadef5425e54.tar.gz
PR ada/24994
* tree-cfg.c (bsi_replace): Remove the original statement from the EH throw statement table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109335 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 31bfc39dbce..2f4583600f7 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -2869,7 +2869,10 @@ bsi_replace (const block_stmt_iterator *bsi, tree stmt, bool preserve_eh_info)
{
eh_region = lookup_stmt_eh_region (orig_stmt);
if (eh_region >= 0)
- add_stmt_to_eh_region (stmt, eh_region);
+ {
+ remove_stmt_from_eh_region (stmt);
+ add_stmt_to_eh_region (stmt, eh_region);
+ }
}
delink_stmt_imm_use (orig_stmt);