diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 2000-02-26 02:05:35 +0000 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2000-02-25 18:05:35 -0800 |
commit | 98f3c1dbd3f00fd828ed32416ac4c3eaffd28063 (patch) | |
tree | d671a89d7dbb78fdc73a15387b6f6a851e846f00 /gcc | |
parent | 3924a5783b6d59796b7c2b14c278769f45d04aca (diff) | |
download | gcc-98f3c1dbd3f00fd828ed32416ac4c3eaffd28063.zip gcc-98f3c1dbd3f00fd828ed32416ac4c3eaffd28063.tar.gz gcc-98f3c1dbd3f00fd828ed32416ac4c3eaffd28063.tar.bz2 |
parse.y (resolve_expression_name): Use `orig' as a second argument to resolve_field_access.
Fri Feb 25 18:00:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (resolve_expression_name): Use `orig' as a second
argument to resolve_field_access.
(resolve_field_access): Removed unecessary code when dealing with
static fields.
From-SVN: r32158
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/java/parse.y | 18 |
2 files changed, 9 insertions, 16 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 592594e..0fbdaae 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,10 @@ +Fri Feb 25 18:00:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> + + * parse.y (resolve_expression_name): Use `orig' as a second + argument to resolve_field_access. + (resolve_field_access): Removed unecessary code when dealing with + static fields. + 2000-02-23 Tom Tromey <tromey@cygnus.com> * gjavah.c (print_name): In JNI case, correctly quote string. diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 843d695..35ab269 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -6532,7 +6532,7 @@ resolve_expression_name (id, orig) qualify_ambiguous_name (id); /* 15.10.1 Field Access Using a Primary and/or Expression Name */ /* 15.10.2: Accessing Superclass Members using super */ - return resolve_field_access (id, NULL, NULL); + return resolve_field_access (id, orig, NULL); } /* We've got an error here */ @@ -6605,21 +6605,7 @@ resolve_field_access (qual_wfl, field_decl, field_type) return error_mark_node; if (is_static && !static_final_found && !flag_emit_class_files && !flag_emit_xref) - { - field_ref = build_class_init (type_found, field_ref); - /* If the static field was identified by an expression that - needs to be generated, make the field access a compound - expression whose first part is the evaluation of the - field selector part. */ - if (where_found && TREE_CODE (where_found) != TYPE_DECL - && TREE_CODE (where_found) != RECORD_TYPE) - { - tree type = QUAL_DECL_TYPE (field_ref); - if (TREE_CODE (type) == RECORD_TYPE) - type = build_pointer_type (type); - field_ref = build (COMPOUND_EXPR, type, where_found, field_ref); - } - } + field_ref = build_class_init (type_found, field_ref); } else field_ref = decl; |