diff options
author | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-03 18:11:21 +0000 |
---|---|---|
committer | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-03 18:11:21 +0000 |
commit | 2668ecc8ce78c9e8d1fb7797419a97d28f9811f9 (patch) | |
tree | 155aaad672e282cdcabefae2f83b904cc9a89d2c /gcc/java/except.c | |
parent | 574006f0959873db8527978db18f8433d510c487 (diff) | |
download | gcc-2668ecc8ce78c9e8d1fb7797419a97d28f9811f9.tar.gz |
2004-12-03 Andrew Haley <aph@redhat.com>
PR java/18812
* except.c (link_handler): Patch 'outer' field of siblings of the
range we're demoting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91690 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/except.c')
-rw-r--r-- | gcc/java/except.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/java/except.c b/gcc/java/except.c index 9ef549b3d20..6735b598311 100644 --- a/gcc/java/except.c +++ b/gcc/java/except.c @@ -138,12 +138,18 @@ link_handler (struct eh_range *range, struct eh_range *outer) range->next_sibling = NULL; range->first_child = outer; { + struct eh_range *p = outer; struct eh_range **pr = &(outer->outer->first_child); while (*pr != outer) pr = &(*pr)->next_sibling; *pr = range; + + while (p) + { + p->outer = range; + p = p->next_sibling; + } } - outer->outer = range; return; } |