diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 2001-02-18 20:41:10 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2001-02-18 20:41:10 +0000 |
commit | 69a59a49f66f5996ff5c89b739399db0fbd66588 (patch) | |
tree | b2de79803511e2b57c81b91a7325f0f30ae339e7 /gcc | |
parent | 8fa33dfa9397b7a2ab094eefac825f178cff54b9 (diff) | |
download | gcc-69a59a49f66f5996ff5c89b739399db0fbd66588.zip gcc-69a59a49f66f5996ff5c89b739399db0fbd66588.tar.gz gcc-69a59a49f66f5996ff5c89b739399db0fbd66588.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/cp/class.c | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9905291..0f94cec 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2001-02-18 Mark Mitchell <mark@codesourcery.com> + + * class.c (add_vcall_offset_vtbl_entries_1): Only add one entry + for a destructor. + 2001-02-18 Jason Merrill <jason@redhat.com> Do put the VTT parameter in DECL_ARGUMENTS. @@ -1060,7 +1065,8 @@ Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * 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 b1b4180..6752c90 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); |