aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-04-20 20:18:16 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-04-20 20:18:16 +0200
commit6788475ac17e1c9ed67dddac0e3a519cccf0a017 (patch)
treecfa6b8da6cfec1d1edf399c4d02a8449b7d8c4da
parent8721a387af0ddc6e88fb30a3b08498ff2db8e127 (diff)
downloadgcc-6788475ac17e1c9ed67dddac0e3a519cccf0a017.zip
gcc-6788475ac17e1c9ed67dddac0e3a519cccf0a017.tar.gz
gcc-6788475ac17e1c9ed67dddac0e3a519cccf0a017.tar.bz2
re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop on basic code)
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-eh.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2b7e531..6dade07 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 5ef319d..76453b8 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -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;