aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1999-11-29 17:40:31 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>1999-11-29 09:40:31 -0800
commit37feda7d7656a82a99f0492b4a52b14fe3db10ec (patch)
treef3a31ea6fb52bd90c966839e8cddcdbcd54decfc /gcc
parentb901ec947a446c7a85516472885fc93438a04b37 (diff)
downloadgcc-37feda7d7656a82a99f0492b4a52b14fe3db10ec.zip
gcc-37feda7d7656a82a99f0492b4a52b14fe3db10ec.tar.gz
gcc-37feda7d7656a82a99f0492b4a52b14fe3db10ec.tar.bz2
hu 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. (This patch fixes the gcj PR #55.) From-SVN: r30707
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/parse.y12
2 files changed, 16 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index e6b19d0..8d00853 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -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.
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 492207e..d1123cb 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -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);