From: Mark Mitchell Date: Sun, 18 Feb 2001 20:41:10 +0000 (+0000) Subject: class.c (add_vcall_offset_vtbl_entries_1): Only add one entry for a destructor. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=69a59a49f66f5996ff5c89b739399db0fbd66588;p=gcc.git class.c (add_vcall_offset_vtbl_entries_1): Only add one entry for a destructor. * class.c (add_vcall_offset_vtbl_entries_1): Only add one entry for a destructor. From-SVN: r39847 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 99052916576..0f94cec1354 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2001-02-18 Mark Mitchell + + * class.c (add_vcall_offset_vtbl_entries_1): Only add one entry + for a destructor. + 2001-02-18 Jason Merrill Do put the VTT parameter in DECL_ARGUMENTS. @@ -1060,7 +1065,8 @@ Sun Feb 4 15:52:44 2001 Richard Kenner * class.c (check_field_decls): Don't special case anonymous fields in error messages. - (note_name_declared_in_class): Use %D on diagnostic. + (note_name_declared_inpwdpwd + _class): Use %D on diagnostic. * tree.c (pod_type_p): Use strip_array_types. (cp_valid_lang_attribute): Likewise. diff --git a/gcc/cp/class.c b/gcc/cp/class.c index b1b4180fd67..6752c90db91 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -7689,7 +7689,11 @@ add_vcall_offset_vtbl_entries_1 (binfo, vid) tree derived_entry; derived_entry = VARRAY_TREE (vid->fns, i); - if (same_signature_p (BV_FN (derived_entry), fn)) + if (same_signature_p (BV_FN (derived_entry), fn) + /* We only use one vcall offset for virtual destructors, + even though there are two virtual table entries. */ + || (DECL_DESTRUCTOR_P (BV_FN (derived_entry)) + && DECL_DESTRUCTOR_P (fn))) { BV_VCALL_INDEX (derived_virtuals) = BV_VCALL_INDEX (derived_entry);