OSDN Git Service

hu Nov 4 16:27:01 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
authorapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Nov 1999 17:40:31 +0000 (17:40 +0000)
committerapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Nov 1999 17:40:31 +0000 (17:40 +0000)
        * parse.y (resolve_qualified_expression_name): Handle PLUS_EXPR.
        (qualify_ambiguous_name): Likewise.

(This patch fixes the gcj PR #55.)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30707 138bc75d-0d04-0410-961f-82ee72b054a4

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

index e6b19d0..8d00853 100644 (file)
@@ -1,3 +1,8 @@
+Thu Nov  4 16:27:01 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (resolve_qualified_expression_name): Handle PLUS_EXPR.
+       (qualify_ambiguous_name): Likewise.
+       
 1999-11-24  Mark Mitchell  <mark@codesourcery.com>
 
        * except.c (emit_handlers): Zero catch_clauses after emitting them.
index 492207e..d1123cb 100644 (file)
@@ -6714,6 +6714,15 @@ resolve_qualified_expression_name (wfl, found_decl, where_found, type_found)
          type = QUAL_DECL_TYPE (decl);
          continue;
 
+       case PLUS_EXPR:
+         if ((decl = java_complete_tree (qual_wfl)) == error_mark_node)
+           return 1;
+         if ((type = patch_string (decl)))
+           decl = type;
+         *where_found = QUAL_RESOLUTION (q) = decl;
+         *type_found = type = TREE_TYPE (decl);
+         break;
+
        default:
          /* Fix for -Wall Just go to the next statement. Don't
              continue */
@@ -7885,7 +7894,8 @@ qualify_ambiguous_name (id)
             TREE_CODE (TREE_OPERAND (qual_wfl, 0)) == EXPR_WITH_FILE_LOCATION)
       name = EXPR_WFL_NODE (TREE_OPERAND (qual_wfl, 0));
 
-    else if (code == STRING_CST || code == CONDITIONAL_EXPR)
+    else if (code == STRING_CST || code == CONDITIONAL_EXPR 
+            || code == PLUS_EXPR)
       {
        qual = TREE_CHAIN (qual);
        qual_wfl = QUAL_WFL (qual);