aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2000-01-12 20:56:15 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2000-01-12 20:56:15 +0000
commitdd42e13519fd78d873e5aeb4528162a499a299eb (patch)
tree46c58bf1306e54ccc104249e3c6967c9fa1e82aa /gcc/c-decl.c
parente5778b1e8475970fdc6e6c5df3abd14598b1b7d2 (diff)
downloadgcc-dd42e13519fd78d873e5aeb4528162a499a299eb.zip
gcc-dd42e13519fd78d873e5aeb4528162a499a299eb.tar.gz
gcc-dd42e13519fd78d873e5aeb4528162a499a299eb.tar.bz2
cp-tree.h (dfs_skip_vbases): New function.
* 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. From-SVN: r31360
Diffstat (limited to 'gcc/c-decl.c')
0 files changed, 0 insertions, 0 deletions