summaryrefslogtreecommitdiff
path: root/gcc/cp/rtti.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-21 00:03:21 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-21 00:03:21 +0000
commit5ad590ade679fd917e3bb6c9617cdbb5cdd814dc (patch)
treefcf4022c73cb6f01329bee1631bcc45d94dff2ba /gcc/cp/rtti.c
parentc4c4e18f1f73e2347c0ff967bf1e26a084d64e19 (diff)
downloadgcc-5ad590ade679fd917e3bb6c9617cdbb5cdd814dc.tar.gz
Remove old-abi remnants. Remove comments about old abi
behaviour. Remove refences to 'new-abi' in comments. * cp-tree.h: Adjust comments. (vbase_offsets_in_vtable_p): Delete. (vcall_offsets_in_vtable_p): Delete. (vptrs_present_everywhere_p): Delete. (all_overridden_vfuns_in_vtables_p): Delete. (merge_primary_and_secondary_vtables_p): Delete. (TYPE_CONTAINS_VPTR_P): Adjust. (VTT_NAME_PREFIX): Remove. (CTOR_VTBL_NAME_PREFIX): Remove. (init_vbase_pointers): Remove. * class.c: Adjust coments. (build_vbase_pointer_fields): Delete. (build_vbase_pointer): Remove old-abi code. (build_secondary_vtable): Likewise. (modify_all_vtables): Likewise. (create_vtable_ptr): Likewise. (layout_class_type): Likewise. (finish_struct_1): Likewise. (finish_vtbls): Likewise. (dfs_finish_vtbls): Delete. (build_vbase_offset_vtbl_entries): Remove old-abi code. * cvt.c: Adjust comments. * decl.c: Adjust comments. * decl2.c: Adjust comments. * init.c: Adjust comments. (construct_virtual_bases): Remove old-abi code. * lang-specs.h: Remove -fno-new-abi. * mangle.c: Adjust comments. * rtti.c: Adjust comments. (get_base_offset): Remove old-abi-code. * search.c: Adjust comments. (dfs_init_vbase_pointers): Remove. (dfs_vtable_path_unmark): Remove. (init_vbase_pointers): Remove. * semantics.c: Adjust comments. (emit_associated_thunks): Remove old-abi code. * typeck.c: Adjust comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44215 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/rtti.c')
-rw-r--r--gcc/cp/rtti.c38
1 files changed, 6 insertions, 32 deletions
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index d798f63c5f2..6e32ed3821f 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -130,8 +130,7 @@ build_headof (exp)
/* We use this a couple of times below, protect it. */
exp = save_expr (exp);
- /* Under the new ABI, the offset-to-top field is at index -2 from
- the vptr. */
+ /* The offset-to-top field is at index -2 from the vptr. */
index = build_int_2 (-2, -1);
aref = build_vtbl_ref (build_indirect_ref (exp, NULL), index);
@@ -452,36 +451,12 @@ get_base_offset (binfo, parent)
{
if (! TREE_VIA_VIRTUAL (binfo))
return BINFO_OFFSET (binfo);
- else if (! vbase_offsets_in_vtable_p ())
- {
- const char *name;
- tree result;
- tree field;
-
- FORMAT_VBASE_NAME (name, BINFO_TYPE (binfo));
- field = lookup_field (parent, get_identifier (name), 0, 0);
- result = byte_position (field);
-
- if (DECL_CONTEXT (field) != parent)
- {
- /* The vbase pointer might be in a non-virtual base of PARENT.
- * Adjust for the offset of that base in PARENT. */
- tree path;
-
- get_base_distance (DECL_CONTEXT (field), parent, -1, &path);
- result = build (PLUS_EXPR, TREE_TYPE (result),
- result, BINFO_OFFSET (path));
- result = fold (result);
- }
- return result;
- }
else
- /* Under the new ABI, we store the vtable offset at which
- the virtual base offset can be found. */
+ /* We store the vtable offset at which the virtual base offset can
+ be found. */
return convert (sizetype,
BINFO_VPTR_FIELD (binfo_for_vbase (BINFO_TYPE (binfo),
parent)));
-
}
/* Execute a dynamic cast, as described in section 5.2.6 of the 9/93 working
@@ -833,8 +808,8 @@ tinfo_base_init (desc, target)
DECL_EXTERNAL (name_decl) = 0;
TREE_PUBLIC (name_decl) = 1;
comdat_linkage (name_decl);
- /* The new ABI specifies the external name of the string
- containing the type's name. */
+ /* External name of the string containing the type's name has a
+ special name. */
SET_DECL_ASSEMBLER_NAME (name_decl,
mangle_typeinfo_string_for_type (target));
DECL_INITIAL (name_decl) = name_string;
@@ -1295,8 +1270,7 @@ create_pseudo_type_info VPARAMS((const char *real_name, int ident, ...))
vtable_decl = get_vtable_decl (real_type, /*complete=*/1);
vtable_decl = build_unary_op (ADDR_EXPR, vtable_decl, 0);
- /* Under the new ABI, we need to point into the middle of the
- vtable. */
+ /* We need to point into the middle of the vtable. */
vtable_decl = build (PLUS_EXPR,
TREE_TYPE (vtable_decl),
vtable_decl,