summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-20 18:18:16 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-20 18:18:16 +0000
commit39efead85603b7fd9de8f56c376fafe6deb1f6b2 (patch)
treecfa6b8da6cfec1d1edf399c4d02a8449b7d8c4da /gcc
parent7ec585898da54e4838581988a253439e0c4b13b4 (diff)
downloadgcc-39efead85603b7fd9de8f56c376fafe6deb1f6b2.tar.gz
PR tree-optimization/48611
* tree-eh.c (note_eh_region_may_contain_throw): Don't propagate beyond ERT_MUST_NOT_THROW region. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172783 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-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 2b7e5313a49..6dade07dc5b 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 5ef319dc2ca..76453b8f45a 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;