re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c...
authorJakub Jelinek <jakub@redhat.com>
Wed, 20 Apr 2011 18:18:16 +0000 (20:18 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 20 Apr 2011 18:18:16 +0000 (20:18 +0200)
PR tree-optimization/48611
* tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
beyond ERT_MUST_NOT_THROW region.

From-SVN: r172783

gcc/ChangeLog
gcc/tree-eh.c

index 2b7e5313a499ea26c19cefc3676963a16384a577..6dade07dc5b43e426c355c815f4cc7c8689ad97f 100644 (file)
@@ -1,3 +1,9 @@
+2011-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/48611
+       * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
+       beyond ERT_MUST_NOT_THROW region.
+
 2011-04-20  Catherine Moore  <clm@codesourcery.com>
 
        * config/mips/mips.opt (mfix-24k): New.
index 5ef319dc2ca8022de6dbe57a420354d5f7dfe50d..76453b8f45a16643842b04f722332423beace0ab 100644 (file)
@@ -849,6 +849,8 @@ note_eh_region_may_contain_throw (eh_region region)
 {
   while (bitmap_set_bit (eh_region_may_contain_throw_map, region->index))
     {
+      if (region->type == ERT_MUST_NOT_THROW)
+       break;
       region = region->outer;
       if (region == NULL)
        break;