]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR java/12890 (ICE on compilation of class with throwing method)
authorAndrew Haley <aph@redhat.com>
Thu, 26 Feb 2004 11:13:57 +0000 (11:13 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Thu, 26 Feb 2004 11:13:57 +0000 (11:13 +0000)
2004-02-26  Andrew Haley  <aph@redhat.com>

        PR java/12890:
        * parse.y (do_resolve_class): Check return value from
        breakdown_qualified().

From-SVN: r78494

gcc/java/ChangeLog
gcc/java/parse.y

index 726e30473270b65d43a8a7bc63bd9e25dbc7b4b7..c52c3da2d461fd12fbd6ce0e014be6387253daf2 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-26  Andrew Haley  <aph@redhat.com>
+
+       PR java/12890:
+       * parse.y (do_resolve_class): Check return value from
+       breakdown_qualified().
+
 2004-02-14  Release Manager
 
        * GCC 3.3.3 Released.
index 755d569e68578fee7b2997aaec79d8af3a8a4381..0705f9b96d5a7aa83d817ddcac81f6209e7e711f 100644 (file)
@@ -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);
+           }
        }
     }