summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-02 10:57:07 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-02 10:57:07 +0000
commita0c110cebfb7b3a800896d792a848371ed4c943a (patch)
treee96506081d59712b0d59d380c03b7fd051599985 /gcc/except.c
parentaa7ab40e3af386a2f050e62ac66fdffa036c9079 (diff)
downloadgcc-a0c110cebfb7b3a800896d792a848371ed4c943a.tar.gz
* except.c (remove_eh_handler_and_replace): Handle updating after
removing TRY blocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147055 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 5b8ed7c3743..3ba3b67a197 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -2674,7 +2674,7 @@ remove_eh_handler_and_replace (struct eh_region *region,
outer = region->outer;
/* When we are moving the region in EH tree, update prev_try pointers. */
- if (outer != replace && region->inner)
+ if ((outer != replace || region->type == ERT_TRY) && region->inner)
{
struct eh_region *prev_try = find_prev_try (replace);
p = region->inner;