class.c (build_vbase_path): Simplify.
authorMark Mitchell <mitchell@dumbledore.codesourcery.com>
Tue, 11 Jan 2000 04:13:27 +0000 (04:13 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 11 Jan 2000 04:13:27 +0000 (04:13 +0000)
commit9d4c0187c6805870fd437f4973bbf51d1ca064ea
tree2871c7aa28318e67ea8d66b2b2c066947132667f
parentd77249e795d1e9e1e669c80279cef1df12232089
class.c (build_vbase_path): Simplify.

* class.c (build_vbase_path): Simplify.
(dfs_propagate_binfo_offsets): New function.
(propagate_binfo_offsets): Use it.
(remove_base_field): Simplify.
(dfs_set_offset_for_vbases): Remove.
(dfs_set_offset_for_shared_vbases): New function.
(dfs_set_offset_for_unshared_vbases): Likewise.
(layout_virtual_bases): Use them.
(layout_basetypes): Don't call propagate_binfo_offsets.
* search.c (dfs_get_vbase_types): Clone completely fresh binfos
for the vbases.

From-SVN: r31316
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/search.c
gcc/testsuite/g++.old-deja/g++.other/ambig2.C