From 738d6b2735fe6de69b17804ab0eb635523e60a56 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Thu, 26 Feb 2004 11:13:57 +0000 Subject: [PATCH] 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 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/parse.y | 16 +++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) 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); + } } } -- 2.47.2