aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-semantics.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2001-02-27 13:12:17 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2001-02-27 13:12:17 +0000
commit73ea87d76df215c101cf1a6b17bc7739c341f1dc (patch)
treee1373cb66df659978b6b794e47123159fe6b0acc /gcc/c-semantics.c
parentfaa7e81482c1e4127ef3bf6d36e6e10f27f27ed4 (diff)
downloadgcc-73ea87d76df215c101cf1a6b17bc7739c341f1dc.zip
gcc-73ea87d76df215c101cf1a6b17bc7739c341f1dc.tar.gz
gcc-73ea87d76df215c101cf1a6b17bc7739c341f1dc.tar.bz2
Fix ctor vtable vcall offsets.
cp: Fix ctor vtable vcall offsets. * class.c (struct vtbl_init_data_s): Add rtti_binfo member. (build_rtt_vtbl_entries): Lose RTTI_BINFO parameter. (get_matching_base): Remove. (get_original_base): New function. (build_vtbl_initializer): Initialize vid.rtti_binfo. Use a virtual thunk for a ctor vtable with an index (add_vcall_offset_vtbl_entries_1): Check if binfo has lost a primary base within a constructor vtable. Only set BV_VCALL_INDEX when not a constructor vtable. Adjust vcall offset when primary base has been lost. * cp-tree.h (BINFO_VIRTUALS): Remove ambiguity from comment. testsuite: * g++.old-deja/g++.abi/vtable3.h: Check vcall offsets too. From-SVN: r40090
Diffstat (limited to 'gcc/c-semantics.c')
0 files changed, 0 insertions, 0 deletions