diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-21 00:03:21 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-21 00:03:21 +0000 |
commit | 5ad590ade679fd917e3bb6c9617cdbb5cdd814dc (patch) | |
tree | fcf4022c73cb6f01329bee1631bcc45d94dff2ba /gcc/cp/search.c | |
parent | c4c4e18f1f73e2347c0ff967bf1e26a084d64e19 (diff) | |
download | ppe42-gcc-5ad590ade679fd917e3bb6c9617cdbb5cdd814dc.tar.gz ppe42-gcc-5ad590ade679fd917e3bb6c9617cdbb5cdd814dc.zip |
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/search.c')
-rw-r--r-- | gcc/cp/search.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 81826c175b6..87157ba83bd 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -102,7 +102,6 @@ static tree marked_pushdecls_p PARAMS ((tree, void *)); static tree unmarked_pushdecls_p PARAMS ((tree, void *)); static tree dfs_debug_unmarkedp PARAMS ((tree, void *)); static tree dfs_debug_mark PARAMS ((tree, void *)); -static tree dfs_init_vbase_pointers PARAMS ((tree, void *)); static tree dfs_get_vbase_types PARAMS ((tree, void *)); static tree dfs_push_type_decls PARAMS ((tree, void *)); static tree dfs_push_decls PARAMS ((tree, void *)); @@ -140,7 +139,6 @@ static tree get_shared_vbase_if_not_primary PARAMS ((tree, void *)); static tree dfs_find_vbase_instance PARAMS ((tree, void *)); static tree dfs_get_pure_virtuals PARAMS ((tree, void *)); static tree dfs_build_inheritance_graph_order PARAMS ((tree, void *)); -static tree dfs_vtable_path_unmark PARAMS ((tree, void *)); /* Allocate a level of searching. */ @@ -2335,108 +2333,6 @@ dfs_unmark (binfo, data) } -static tree -dfs_init_vbase_pointers (binfo, data) - tree binfo; - void *data; -{ - struct vbase_info *vi = (struct vbase_info *) data; - tree type = BINFO_TYPE (binfo); - tree fields; - tree this_vbase_ptr; - - /* Don't initialize the same base more than once. */ - SET_BINFO_VTABLE_PATH_MARKED (binfo); - - /* We know that VI->DECL_PTR points to the complete object. So, - finding a pointer to this subobject is easy. */ - this_vbase_ptr = build (PLUS_EXPR, - build_pointer_type (type), - vi->decl_ptr, - BINFO_OFFSET (binfo)); - - /* We're going to iterate through all the pointers to virtual - base-classes. They come at the beginning of the class. */ - fields = TYPE_FIELDS (type); - - if (fields == NULL_TREE - || DECL_NAME (fields) == NULL_TREE - || ! VBASE_NAME_P (DECL_NAME (fields))) - return NULL_TREE; - - if (build_pointer_type (type) - != TYPE_MAIN_VARIANT (TREE_TYPE (this_vbase_ptr))) - my_friendly_abort (125); - - while (fields && DECL_NAME (fields) && VBASE_NAME_P (DECL_NAME (fields))) - { - tree ref = build (COMPONENT_REF, TREE_TYPE (fields), - build_indirect_ref (this_vbase_ptr, NULL), fields); - tree init; - tree vbase_type; - tree vbase_binfo; - - vbase_type = TREE_TYPE (TREE_TYPE (fields)); - vbase_binfo = binfo_for_vbase (vbase_type, vi->type); - init = build (PLUS_EXPR, - build_pointer_type (vbase_type), - vi->decl_ptr, - BINFO_OFFSET (vbase_binfo)); - vi->inits - = tree_cons (vbase_binfo, - build_modify_expr (ref, NOP_EXPR, init), - vi->inits); - fields = TREE_CHAIN (fields); - } - - return NULL_TREE; -} - -/* Call CLEAR_BINFO_VTABLE_PATH_MARKED for BINFO. */ - -static tree -dfs_vtable_path_unmark (binfo, data) - tree binfo; - void *data ATTRIBUTE_UNUSED; -{ - CLEAR_BINFO_VTABLE_PATH_MARKED (binfo); - return NULL_TREE; -} - -tree -init_vbase_pointers (type, decl_ptr) - tree type; - tree decl_ptr; -{ - my_friendly_assert (!vbase_offsets_in_vtable_p (), 20000516); - - if (TYPE_USES_VIRTUAL_BASECLASSES (type)) - { - struct vbase_info vi; - tree binfo = TYPE_BINFO (type); - - /* Find all the virtual base classes, marking them for later - initialization. */ - vi.type = type; - vi.decl_ptr = decl_ptr; - vi.inits = NULL_TREE; - - /* Build up a list of the initializers. */ - dfs_walk_real (binfo, - dfs_init_vbase_pointers, 0, - unmarked_vtable_pathp, - &vi); - dfs_walk (binfo, - dfs_vtable_path_unmark, - marked_vtable_pathp, - NULL); - - return vi.inits; - } - - return 0; -} - /* get the virtual context (the vbase that directly contains the DECL_CONTEXT of the FNDECL) that the given FNDECL is declared in, or NULL_TREE if there is none. |