Stop sharing binfos for indirect virtual bases.
* tree.c (propagate_binfo_offsets): Unshare vbases, too. (layout_basetypes): Likewise. (unshare_base_binfos): Copy vbases, too. * cp-tree.h (BINFO_VIA_PUBLIC, BINFO_BASEINIT_MARKED, BINFO_VBASE_INIT_MARKED): Remove obsolete macros. (BINFO_PUSHDECLS_MARKED, SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED): New macros. * search.c (lookup_field, lookup_fnfields, lookup_member): Remove reference to BINFO_VIA_PUBLIC. (marked_pushdecls_p, unmarked_pushdecls_p): New fns. (push_class_decls): Use them. (dfs_pushdecls): Use SET_BINFO_PUSHDECLS_MARKED. (dfs_compress_decls): Use CLEAR_BINFO_PUSHDECLS_MARKED. From-SVN: r22017
Showing
Please
register
or
sign in
to comment