diff options
author | Andrew Haley <aph@redhat.com> | 2005-04-29 18:43:25 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2005-04-29 18:43:25 +0000 |
commit | 2c80f015490c820ec71549975d6276b41ed9ae4c (patch) | |
tree | 158742ad984de1e20c807a73f81b51044ae5edee /gcc/java/java-tree.h | |
parent | a68b179c86764d41292502567a7b1252f4e57eae (diff) | |
download | gcc-2c80f015490c820ec71549975d6276b41ed9ae4c.zip gcc-2c80f015490c820ec71549975d6276b41ed9ae4c.tar.gz gcc-2c80f015490c820ec71549975d6276b41ed9ae4c.tar.bz2 |
re PR java/19285 (Interfaces not initialized by static field access)
2005-04-28 Andrew Haley <aph@redhat.com>
PR java/19285
* java-tree.h (soft_resolvepoolentry_node): New.
(alloc_constant_fieldref): Declare.
* expr.c (expand_java_field_op): Don't call class_init for
accesses to static fields with indirect dispatch.
* builtins.c (initialize_builtins): Add "__builtin_expect".
* decl.c (soft_resolvepoolentry_node): New variable.
(java_init_decl_processing): Create a decl for
"_Jv_ResolvePoolEntry".
* class.c (build_fieldref_cache_entry): New function.
(build_static_field_ref): Rewrite for indirect dispatch.
* constants.c (find_name_and_type_constant_tree): New function.
(alloc_constant_fieldref): Likewise.
(build_constants_constructor): Handle CONSTANT_Fieldref and
CONSTANT_NameAndType.
PR java/21115
* expr.c (force_evaluation_order): Convert outgoing args smaller
than integer.
From-SVN: r99010
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 036fb83..a55e9ab 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -686,6 +686,9 @@ extern GTY(()) tree java_global_trees[JTI_MAX]; #define wfl_operator \ java_global_trees[JTI_WFL_OPERATOR] +/* The decl for "_Jv_ResolvePoolEntry". */ +extern GTY(()) tree soft_resolvepoolentry_node; + extern const char *cyclic_inheritance_report; struct lang_identifier GTY(()) @@ -1285,6 +1288,7 @@ extern tree get_method_index (tree decl); extern void make_class_data (tree); extern void register_class (void); extern int alloc_name_constant (int, tree); +extern int alloc_constant_fieldref (tree, tree); extern void emit_register_classes (tree *); extern tree emit_symbol_table (tree, tree, tree, tree, tree, int); extern void lang_init_source (int); |