From: Jan Hubicka Date: Sat, 2 May 2009 10:57:07 +0000 (+0200) Subject: except.c (remove_eh_handler_and_replace): Handle updating after removing TRY blocks. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d5c5f9ab077a5388740a188014b73c8dc80f248b;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a46e3247a0..49f1adb077e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-05-02 Jan Hubicka + + * except.c (remove_eh_handler_and_replace): Handle updating after + removing TRY blocks. + 2009-05-02 Eric Botcazou * store-motion.c (compute_store_table): Add ENABLE_CHECKING guard. 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;