From 1f4cb92b42a51c719f67808f6c2ea975b8e26a7f Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 15 Mar 2000 10:40:27 +0000 Subject: [PATCH] cp-tree.h (CPTI_REF_DESC_TYPE, [...]): Remove. * cp-tree.h (CPTI_REF_DESC_TYPE, ref_desc_type_node): Remove. * decl.c (ref_desc_type_node): Undocument. * rtti.c (ptr_ref_initializer): Rename to ... (ptr_initializer): ... here. Adjust comments. (ptmd_initializer): Fix comment thinko. (synthesize_tinfo_var): Remove REFERENCE_TYPE case. (create_tinfo_types): Remove ref_desc_type_node init. * tinfo2.cc (__reference_type_info): Remove. From-SVN: r32558 --- gcc/cp/ChangeLog | 11 +++++++++++ gcc/cp/cp-tree.h | 2 -- gcc/cp/decl.c | 2 +- gcc/cp/rtti.c | 23 +++++++---------------- gcc/cp/tinfo2.cc | 25 ------------------------- 5 files changed, 19 insertions(+), 44 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f73c82429c4d..e24bd9ecab84 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,14 @@ +2000-03-15 Nathan Sidwell + + * cp-tree.h (CPTI_REF_DESC_TYPE, ref_desc_type_node): Remove. + * decl.c (ref_desc_type_node): Undocument. + * rtti.c (ptr_ref_initializer): Rename to ... + (ptr_initializer): ... here. Adjust comments. + (ptmd_initializer): Fix comment thinko. + (synthesize_tinfo_var): Remove REFERENCE_TYPE case. + (create_tinfo_types): Remove ref_desc_type_node init. + * tinfo2.cc (__reference_type_info): Remove. + 2000-03-15 Nathan Sidwell * decl.c (cp_finish_decl): Remove obsolete comment. diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 5772d3880838..88e63032396c 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -520,7 +520,6 @@ enum cp_tree_index CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE, CPTI_PTR_DESC_TYPE, - CPTI_REF_DESC_TYPE, CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE, CPTI_ENUM_DESC_TYPE, @@ -606,7 +605,6 @@ extern tree cp_global_trees[CPTI_MAX]; #define ti_desc_type_node cp_global_trees[CPTI_TI_DESC_TYPE] #define bltn_desc_type_node cp_global_trees[CPTI_BLTN_DESC_TYPE] #define ptr_desc_type_node cp_global_trees[CPTI_PTR_DESC_TYPE] -#define ref_desc_type_node cp_global_trees[CPTI_REF_DESC_TYPE] #define ary_desc_type_node cp_global_trees[CPTI_ARY_DESC_TYPE] #define func_desc_type_node cp_global_trees[CPTI_FUNC_DESC_TYPE] #define enum_desc_type_node cp_global_trees[CPTI_ENUM_DESC_TYPE] diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index fdb35b2175ee..e8150816026e 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -211,7 +211,7 @@ tree error_mark_list; tree __tp_desc_type_node; #endif tree ti_desc_type_node; - tree bltn_desc_type_node, ptr_desc_type_node, ref_desc_type_node; + tree bltn_desc_type_node, ptr_desc_type_node; tree ary_desc_type_node, func_desc_type_node, enum_desc_type_node; tree class_desc_type_node, si_class_desc_type_node, vmi_class_desc_type_node; tree ptmd_desc_type_node; diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 0e72864f0288..6774151d267f 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -64,7 +64,7 @@ static tree tinfo_from_decl PARAMS((tree)); static int qualifier_flags PARAMS((tree)); static tree tinfo_base_init PARAMS((tree, tree)); static tree generic_initializer PARAMS((tree, tree)); -static tree ptr_ref_initializer PARAMS((tree, tree)); +static tree ptr_initializer PARAMS((tree, tree)); static tree ptmd_initializer PARAMS((tree, tree)); static int class_hint_flags PARAMS((tree)); static tree class_initializer PARAMS((tree, tree, tree)); @@ -1298,12 +1298,12 @@ generic_initializer (desc, target) return init; } -/* Return the CONSTRUCTOR expr for a type_info of pointer or reference TYPE. +/* Return the CONSTRUCTOR expr for a type_info of pointer TYPE. DESC provides information about the particular type_info derivation, which adds target type and qualifier flags members to the type_info base. */ static tree -ptr_ref_initializer (desc, target) +ptr_initializer (desc, target) tree desc; tree target; { @@ -1322,7 +1322,7 @@ ptr_ref_initializer (desc, target) return init; } -/* Return the CONSTRUCTOR expr for a type_info of pointer or reference TYPE. +/* Return the CONSTRUCTOR expr for a type_info of pointer to member data TYPE. DESC provides information about the particular type_info derivation, which adds target type and qualifier flags members to the type_info base. */ @@ -1427,13 +1427,9 @@ synthesize_tinfo_var (target_type, real_name) /* These are in the runtime. */ return NULL_TREE; var_type = ptr_desc_type_node; - var_init = ptr_ref_initializer (var_type, target_type); + var_init = ptr_initializer (var_type, target_type); } break; - case REFERENCE_TYPE: - var_type = ref_desc_type_node; - var_init = ptr_ref_initializer (var_type, target_type); - break; case ENUMERAL_TYPE: var_type = enum_desc_type_node; var_init = generic_initializer (var_type, target_type); @@ -1704,18 +1700,13 @@ create_tinfo_types () ("__fundamental_type_info", 0, NULL); - /* Pointer and reference type_info. These two fields, qualification mask - and pointer to the pointed to (referenced) type. */ + /* Pointer type_info. Adds two fields, qualification mask + and pointer to the pointed to type. */ ptr_desc_type_node = create_pseudo_type_info ("__pointer_type_info", 0, build_lang_decl (FIELD_DECL, NULL_TREE, integer_type_node), build_lang_decl (FIELD_DECL, NULL_TREE, ptr_type_info), NULL); - ref_desc_type_node = create_pseudo_type_info - ("__reference_type_info", 0, - build_lang_decl (FIELD_DECL, NULL_TREE, integer_type_node), - build_lang_decl (FIELD_DECL, NULL_TREE, ptr_type_info), - NULL); /* Array, function and enum type_info. No additional fields. */ ary_desc_type_node = create_pseudo_type_info diff --git a/gcc/cp/tinfo2.cc b/gcc/cp/tinfo2.cc index 9dafaa6f8853..e0e29ae5bba8 100644 --- a/gcc/cp/tinfo2.cc +++ b/gcc/cp/tinfo2.cc @@ -130,27 +130,6 @@ protected: unsigned outer) const; }; -// type information for reference to data -class __reference_type_info : public type_info { -public: - virtual ~__reference_type_info (); - int quals; // qualification of the target object - const type_info *target; // type of object being referenced - -// internal parts - enum quals_masks { - const_mask = 0x1, - volatile_mask = 0x2 - }; - -public: - explicit __reference_type_info (const char *n, - int quals_, - const type_info *target_) - : type_info (n), quals (quals_), target (target_) - { } -}; - // type information for array objects class __array_type_info : public type_info { public: @@ -229,10 +208,6 @@ __pointer_type_info:: ~__pointer_type_info () {} -__reference_type_info:: -~__reference_type_info () -{} - __array_type_info:: ~__array_type_info () {}