diff options
author | Nathan Sidwell <nathan@gcc.gnu.org> | 2004-07-05 09:35:44 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2004-07-05 09:35:44 +0000 |
commit | 95b4aca6a30bfa889277649da9f092d070a6a687 (patch) | |
tree | 345ee905cf45afd981c579fc9648f137846a592f /gcc/java | |
parent | acf8677f4e8df04a0285d37c653eb69d12e0cb64 (diff) | |
download | gcc-95b4aca6a30bfa889277649da9f092d070a6a687.zip gcc-95b4aca6a30bfa889277649da9f092d070a6a687.tar.gz gcc-95b4aca6a30bfa889277649da9f092d070a6a687.tar.bz2 |
c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
* dwarf2out.c (add_data_member_location_attribute): Check for
TREE_BINFO.
* tree.c (tree_node_kinds): Add "binfos".
(binfo_lang_slots): New.
(make_node_stat): Add TREE_BINFO.
(make_tree_binfo_stat): New.
(tree_node_structure): Add TREE_BINFO.
* tree.def (TREE_BINFO): New.
* tree.h (REC_OR_UNION_CHECK): Rename to ...
(RECORD_OR_UNION_CHECK): ... here.
(NOT_RECORD_OR_UNION_CHECK): New.
(TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO.
(TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for
RECORD_OR_UNION_CHECK.
(TYPE_BINFO): Use RECORD_OR_UNION_CHECK.
(TYPE_LANG_SLOT_1): New.
(BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS,
BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD,
BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust.
(BINFO_ELTS): Remove.
(BINFO_LANG_SLOT): New.
(struct tree_binfo): New.
(binfo_lang_slots): Declare.
(enum tree_node_structure_enum): Add TS_BINFO.
(union tree_node): Add binfo.
(make_tree_binfo_stat): Declare.
(make_tree_binfo): New.
(enum tree_node_kind): Add binfo_kind.
* cp/call.c (enforce_access): Expect TREE_BINFO.
* cp/class.c (binfo_ctor_vtable): Check TREE_BINFO.
* cp/cp-tree.h (RECORD_OR_UNION_TYPE_CHECK): Remove.
(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF):
Adjust.
(BINFO_LANG_ELTS): Remove.
(BINFO_LANG_SLOTS): New.
(TYPE_RAISES_EXCEPTIONS, ENUM_TEMPLATE_INFO): Use TYPE_LANG_SLOT_1.
(CLASSTYPE_TEMPLATE_INFO): Adjust.
* cp/pt.c (tsubst): Split TREE_BINFO case from TREE_VEC case.
* cp/search.c (lookup_member): Check TREE_BINFO.
* cp/semantics.c (perform_or_defer_access_check): Likewise.
(check_accessibility_of_qualified_id): Check
deferred_access_no_check.
* cp/tree.c (make_binfo): Use make_tree_binfo.
* java/class.c (make_class): Use make_tree_binfo.
(set_super_info, add_interface_do): Likewise.
* java/java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO.
* objc/objc-act.c (start_class, objc_declare_protocols,
start_protocols): Use TYPE_LANG_SLOT_1.
* objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename
to ...
(CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here.
(CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE,
CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS,
PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1.
From-SVN: r84110
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/java/class.c | 6 | ||||
-rw-r--r-- | gcc/java/java-tree.h | 4 |
3 files changed, 12 insertions, 6 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 1c558ae..671c865 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2004-07-05 Nathan Sidwell <nathan@codesourcery.com> + + * class.c (make_class): Use make_tree_binfo. + (set_super_info, add_interface_do): Likewise. + * java-tree.h (CLASS_HAS_SUPER_FLAG): Expect a BINFO. + 2004-07-04 Ranjit Mathew <rmathew@hotmail.com> * verify.c: Correct array element access formatting thinko. @@ -8161,7 +8167,7 @@ properly initialize `finished_label'. Don't emit gotos for empty try statements. -2000-03-19 Martin v. Löwis <loewis@informatik.hu-berlin.de> +2000-03-19 Martin v. Löwis <loewis@informatik.hu-berlin.de> * except.c (emit_handlers): Clear catch_clauses_last. diff --git a/gcc/java/class.c b/gcc/java/class.c index 3c0538a..1083efb 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -318,7 +318,7 @@ make_class (void) { tree type; type = make_node (RECORD_TYPE); - TYPE_BINFO (type) = make_tree_vec (BINFO_ELTS); + TYPE_BINFO (type) = make_tree_binfo (0); MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC (type); return type; @@ -480,7 +480,7 @@ set_super_info (int access_flags, tree this_class, TYPE_BINFO_BASETYPES (this_class) = make_tree_vec (total_supers); if (super_class) { - tree super_binfo = make_tree_vec (BINFO_ELTS); + tree super_binfo = make_tree_binfo (0); BINFO_TYPE (super_binfo) = super_class; BINFO_OFFSET (super_binfo) = integer_zero_node; TREE_VEC_ELT (BINFO_BASETYPES (TYPE_BINFO (this_class)), 0) @@ -612,7 +612,7 @@ common_enclosing_context_p (tree type1, tree type2) static void add_interface_do (tree basetype_vec, tree interface_class, int i) { - tree interface_binfo = make_tree_vec (BINFO_ELTS); + tree interface_binfo = make_tree_binfo (0); BINFO_TYPE (interface_binfo) = interface_class; BINFO_OFFSET (interface_binfo) = integer_zero_node; BINFO_VPTR_FIELD (interface_binfo) = integer_zero_node; diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 6ebf6db..792f2ac 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -48,7 +48,7 @@ struct JCF; SUPPRESS_UNREACHABLE_ERROR (for other _EXPR nodes) ANONYMOUS_CLASS_P (in RECORD_TYPE) ARG_FINAL_P (in TREE_LIST) - 1: CLASS_HAS_SUPER_FLAG (in TREE_VEC). + 1: CLASS_HAS_SUPER_FLAG (in TREE_BINFO). IS_A_CLASSFILE_NAME (in IDENTIFIER_NODE) COMPOUND_ASSIGN_P (in EXPR (binop_*)) LOCAL_CLASS_P (in RECORD_TYPE) @@ -122,7 +122,7 @@ struct JCF; /* True if the class whose TYPE_BINFO this is has a superclass. (True of all classes except Object.) */ -#define CLASS_HAS_SUPER_FLAG(BINFO) TREE_LANG_FLAG_1 (TREE_VEC_CHECK (BINFO)) +#define CLASS_HAS_SUPER_FLAG(BINFO) TREE_LANG_FLAG_1 (TREE_BINFO_CHECK (BINFO)) #define CLASS_HAS_SUPER(TYPE) CLASS_HAS_SUPER_FLAG (TYPE_BINFO (TYPE)) /* Return the supertype of class TYPE, or NULL_TREE is it has none. */ |