Re-implement allocation of base class subobjects.
* tree.c (unshare_base_binfos): New fn. (layout_basetypes): Use it. Now handles offsets of both virtual and non-virtual bases, after layout_type. (layout_vbasetypes): Remove. (build_base_fields): Generate FIELD_DECLs for each non-virtual base. (build_vbase_pointer_fields): Split out from old layout_basetypes. * class.c (finish_base_struct): Lose offset handling code. Move nonvdtor warning here. Don't mess with t_binfo anymore. (finish_struct_1): Don't mess with t_binfo anymore. Use fns above. * cp-tree.h: Adjust. From-SVN: r18973
Showing
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment