re PR java/18812 (ICE in catalina/common/lib/naming-resources.jar)
authorAndrew Haley <aph@redhat.com>
Fri, 3 Dec 2004 18:11:21 +0000 (18:11 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Fri, 3 Dec 2004 18:11:21 +0000 (18:11 +0000)
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.

From-SVN: r91690

gcc/java/ChangeLog
gcc/java/except.c

index 3521770..9b85160 100644 (file)
@@ -1,5 +1,11 @@
 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.
+
+2004-12-03  Andrew Haley  <aph@redhat.com>
+
        PR java/18697 
        * class.c (layout_class_method): Don't fail to override a method
        simply because it has DECL_ARTIFICIAL set.
index 9ef549b..6735b59 100644 (file)
@@ -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;
     }