]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR ada/24994 (raised STORAGE_ERROR : stack overflow or erroneous memory access)
authorJeff Law <law@redhat.com>
Wed, 4 Jan 2006 16:29:32 +0000 (09:29 -0700)
committerJeff Law <law@gcc.gnu.org>
Wed, 4 Jan 2006 16:29:32 +0000 (09:29 -0700)
        PR ada/24994
        * tree-cfg.c (bsi_replace): Remove the original statement
        from the EH throw statement table.

From-SVN: r109335

gcc/ChangeLog
gcc/tree-cfg.c

index 90d37de683d33bf9b2ece42e8512c3c37baa27f9..b818536ad29ae1cdf808261be59a55ea40c40105 100644 (file)
@@ -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,
index 31bfc39dbce5424e9408321103c6e9431557ef9c..2f4583600f799c3a3ab773e42db6fbb0f665de95 100644 (file)
@@ -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);