diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/java/parse.y | 5 | 
2 files changed, 9 insertions, 2 deletions
| diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 1203410133e..abfc4823609 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2001-03-21  Alexandre Petit-Bianco  <apbianco@redhat.com> + +	* parse.y (qualify_ambiguous_name): Broaden `length' +	recognition. Help MODIFY_EXPR be resolved as expression names. +	Fixes PR java/2066. Fixes PR java/2400. +  2001-03-28  Jeffrey Oldham  <oldham@codesourcery.com>  	* jvgenmain.c (do_mangle_classname): End string constant with '\0'. diff --git a/gcc/java/parse.y b/gcc/java/parse.y index d377e8fe59d..04c9e90de72 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -10891,7 +10891,7 @@ qualify_ambiguous_name (id)       expression name. If we saw a NEW_ARRAY_EXPR before and want to       address length, it is OK. */    else if ((decl = lookup_field_wrapper (ptr_type, name)) -	   || (new_array_found && name == length_identifier_node)) +	   || name == length_identifier_node)      {        RESOLVE_EXPRESSION_NAME_P (qual_wfl) = 1;        QUAL_RESOLUTION (qual) = (new_array_found ? NULL_TREE : decl); @@ -10916,7 +10916,8 @@ qualify_ambiguous_name (id)    /* Method call, array references and cast are expression name */    else if (TREE_CODE (QUAL_WFL (qual)) == CALL_EXPR  	   || TREE_CODE (QUAL_WFL (qual)) == ARRAY_REF -	   || TREE_CODE (QUAL_WFL (qual)) == CONVERT_EXPR) +	   || TREE_CODE (QUAL_WFL (qual)) == CONVERT_EXPR +	   || TREE_CODE (QUAL_WFL (qual)) == MODIFY_EXPR)      RESOLVE_EXPRESSION_NAME_P (qual_wfl) = 1;    /* Check here that NAME isn't declared by more than one | 

