summaryrefslogtreecommitdiff
path: root/gcc/convert.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-12 20:56:15 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-12 20:56:15 +0000
commitb48d627147885841e940f35cd8c6fbc13005302b (patch)
tree46c58bf1306e54ccc104249e3c6967c9fa1e82aa /gcc/convert.c
parent3779309859a569eba8b16ff7b4b5826b3cec8927 (diff)
downloadgcc-b48d627147885841e940f35cd8c6fbc13005302b.tar.gz
* cp-tree.h (dfs_skip_vbases): New function.
(find_vbase_instance): Likewise. * class.c (determine_primary_base): Allow a nearly empty base to serve as a primary base class under the new ABI. (get_class_offset_1): Rename to ... (dfs_get_class_offset): ... this. Simplify. Don't issue error messages here. (get_class_offset): Use it. Issue error messages here. (dfs_modify_vtables): Rely on dfs_unmarked_real_bases_queue_p to find the right copies of virtual bases. (fixup_vtable_deltas1): Rename to ... (dfs_fixup_vtable_deltas): ... this. Adjust to handle virtual bases as primary bases. (fixup_vtable_deltas): Remove. (override_one_vtable): Handle virtual bases as primary bases. (merge_overrides): Likewise. (finish_struct_1): Likewise. (dump_class_hierarchy): Dump primary-ness of bases as well. * search.c (mark_primary_bases): Use a pre-order traversal to handle primary virtual bases. (dfs_skip_vbases): New fiunction. (expand_upcast_fixups): Adjust to handle primary virtual bases. (fixup_virtual_upcast_offsets): Likewise. (fixup_all_virtual_upcast_offsets): Likewise. (dfs_find_vbase_instances): New function. (find_vbase_instance): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31360 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/convert.c')
0 files changed, 0 insertions, 0 deletions