OSDN Git Service

2001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com>
authorapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Mar 2001 19:22:05 +0000 (19:22 +0000)
committerapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Mar 2001 19:22:05 +0000 (19:22 +0000)
* parse.y (qualify_ambiguous_name): Broaden `length'
recognition. Help MODIFY_EXPR be resolved as expression names.
Fixes PR java/2066. Fixes PR java/2400.

(http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01935.html)

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

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

index 1203410..abfc482 100644 (file)
@@ -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'.
index d377e8f..04c9e90 100644 (file)
@@ -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