diff options
author | Bryce McKinlay <mckinlay@redhat.com> | 2005-09-15 14:13:03 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2005-09-15 15:13:03 +0100 |
commit | c629e611eb78853f8ccd85173b758cabbdc0e56b (patch) | |
tree | acb467137b30cf006a229fb261743c29c869d147 /gcc/java/java-tree.h | |
parent | ec05ece4b9e0fdcc6afd9d5d89d859cb95ccb321 (diff) | |
download | gcc-c629e611eb78853f8ccd85173b758cabbdc0e56b.zip gcc-c629e611eb78853f8ccd85173b758cabbdc0e56b.tar.gz gcc-c629e611eb78853f8ccd85173b758cabbdc0e56b.tar.bz2 |
re PR java/23891 (Problem folding static fields across packages)
2005-09-14 Bryce McKinlay <mckinlay@redhat.com>
PR java/23891
* parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
the newly created type. Set import lists here, not in create_class.
(jdep_resolve_class): Set current_class.
(do_resolve_class): Use current_class's TYPE_PACKAGE to determine
the current package context, not ctxp->package.
(cicp_cache): Removed.
(class_in_current_package): Simplify implementation using
TYPE_PACKAGE.
* jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
* java-tree.h (TYPE_PACKAGE): New macro.
(struct lang_type): New member 'package'.
From-SVN: r104305
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r-- | gcc/java/java-tree.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 8f30878..658da38 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -1074,6 +1074,7 @@ struct lang_decl GTY(()) #define TYPE_TO_RUNTIME_MAP(T) (TYPE_LANG_SPECIFIC (T)->type_to_runtime_map) #define TYPE_ASSERTIONS(T) (TYPE_LANG_SPECIFIC (T)->type_assertions) +#define TYPE_PACKAGE(T) (TYPE_LANG_SPECIFIC (T)->package) struct lang_type GTY(()) { @@ -1122,6 +1123,9 @@ struct lang_type GTY(()) /* Table of type assertions to be evaluated by the runtime when this class is loaded. */ + tree package; /* IDENTIFIER_NODE for package this class is + a member of. */ + unsigned pic:1; /* Private Inner Class. */ unsigned poic:1; /* Protected Inner Class. */ unsigned strictfp:1; /* `strictfp' class. */ |