diff options
author | Jeff Law <law@redhat.com> | 2006-01-04 09:29:32 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2006-01-04 09:29:32 -0700 |
commit | 59bb84ef39a86a30c2f0280eb2176ee73a9e4cb9 (patch) | |
tree | e33b3e9de333f52a13c558fd7673b162344b00ce | |
parent | ebfd9521b5926ac5a1d80b4a2f017e4bb57545de (diff) | |
download | gcc-59bb84ef39a86a30c2f0280eb2176ee73a9e4cb9.zip gcc-59bb84ef39a86a30c2f0280eb2176ee73a9e4cb9.tar.gz gcc-59bb84ef39a86a30c2f0280eb2176ee73a9e4cb9.tar.bz2 |
re PR ada/24994 (raised STORAGE_ERROR : stack overflow or erroneous memory access)
PR ada/24994
* tree-cfg.c (bsi_replace): Remove the original statement
from the EH throw statement table.
From-SVN: r109335
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 90d37de..b818536 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-01-04 Jeff Law <law@redhat.com> + + PR ada/24994 + * tree-cfg.c (bsi_replace): Remove the original statement + from the EH throw statement table. + 2006-01-04 Jakub Jelinek <jakub@redhat.com> * config/i386/pmm_malloc.h (posix_memalign): If __cplusplus, diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 31bfc39..2f45836 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); |