aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-eh.c
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 /gcc/tree-eh.c
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
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r--gcc/tree-eh.c2
1 files changed, 2 insertions, 0 deletions
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;