From 2360c81be6b47d73bf9d2d1f1449a3bda995e711 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Fri, 3 Dec 2004 18:11:21 +0000 Subject: [PATCH] re PR java/18812 (ICE in catalina/common/lib/naming-resources.jar) 2004-12-03 Andrew Haley PR java/18812 * except.c (link_handler): Patch 'outer' field of siblings of the range we're demoting. From-SVN: r91690 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/except.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 35217703809..9b851605110 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2004-12-03 Andrew Haley + + PR java/18812 + * except.c (link_handler): Patch 'outer' field of siblings of the + range we're demoting. + 2004-12-03 Andrew Haley PR java/18697 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; } -- 2.30.2