From: Andrew Haley Date: Thu, 26 Feb 2004 11:13:57 +0000 (+0000) Subject: re PR java/12890 (ICE on compilation of class with throwing method) X-Git-Tag: releases/gcc-3.3.4~226 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=738d6b2735fe6de69b17804ab0eb635523e60a56;p=thirdparty%2Fgcc.git re PR java/12890 (ICE on compilation of class with throwing method) 2004-02-26 Andrew Haley PR java/12890: * parse.y (do_resolve_class): Check return value from breakdown_qualified(). From-SVN: r78494 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 726e30473270..c52c3da2d461 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2004-02-26 Andrew Haley + + PR java/12890: + * parse.y (do_resolve_class): Check return value from + breakdown_qualified(). + 2004-02-14 Release Manager * GCC 3.3.3 Released. diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 755d569e6857..0705f9b96d5a 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -5797,14 +5797,16 @@ do_resolve_class (enclosing, class_type, decl, cl) class and then treat Id as a member type. If we can't find Q as a class then we fall through. */ tree q, left, left_type, right; - breakdown_qualified (&left, &right, TYPE_NAME (class_type)); - BUILD_PTR_FROM_NAME (left_type, left); - q = do_resolve_class (enclosing, left_type, decl, cl); - if (q) + if (breakdown_qualified (&left, &right, TYPE_NAME (class_type)) == 0) { - enclosing = q; - saved_enclosing_type = TREE_TYPE (q); - BUILD_PTR_FROM_NAME (class_type, right); + BUILD_PTR_FROM_NAME (left_type, left); + q = do_resolve_class (enclosing, left_type, decl, cl); + if (q) + { + enclosing = q; + saved_enclosing_type = TREE_TYPE (q); + BUILD_PTR_FROM_NAME (class_type, right); + } } }