aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2009-05-02 12:57:07 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2009-05-02 10:57:07 +0000
commitd5c5f9ab077a5388740a188014b73c8dc80f248b (patch)
treee96506081d59712b0d59d380c03b7fd051599985 /gcc/except.c
parent2ed1959a573fa444361624a6a96d235d49edddef (diff)
downloadgcc-d5c5f9ab077a5388740a188014b73c8dc80f248b.zip
gcc-d5c5f9ab077a5388740a188014b73c8dc80f248b.tar.gz
gcc-d5c5f9ab077a5388740a188014b73c8dc80f248b.tar.bz2
except.c (remove_eh_handler_and_replace): Handle updating after removing TRY blocks.
* except.c (remove_eh_handler_and_replace): Handle updating after removing TRY blocks. From-SVN: r147055
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 5b8ed7c..3ba3b67 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;