diff options
author | Mark Mitchell <mark@codesourcery.com> | 2000-04-17 04:03:48 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-04-17 04:03:48 +0000 |
commit | 256309e4e97077842e547cf630cdc1fd723085d6 (patch) | |
tree | 6f755b7b55f6fedd8a015c65e006ca37d8d6fca5 /gcc | |
parent | 08cb3d38deb58115562f9e6e3f0f3f127834347b (diff) | |
download | gcc-256309e4e97077842e547cf630cdc1fd723085d6.zip gcc-256309e4e97077842e547cf630cdc1fd723085d6.tar.gz gcc-256309e4e97077842e547cf630cdc1fd723085d6.tar.bz2 |
class.c (build_vtable_entry): Don't build thunks for type-info functions.
* class.c (build_vtable_entry): Don't build thunks for type-info
functions.
From-SVN: r33201
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/class.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4634c2e..08fbb76 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-04-16 Mark Mitchell <mark@codesourcery.com> + + * class.c (build_vtable_entry): Don't build thunks for type-info + functions. + 2000-04-16 Jason Merrill <jason@casey.cygnus.com> * decl.c (decls_match): Allow a redeclaration of a builtin to diff --git a/gcc/cp/class.c b/gcc/cp/class.c index bf9c804..a850a27 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -6924,11 +6924,14 @@ build_vtable_entry (delta, vcall_index, entry) { HOST_WIDE_INT idelta; HOST_WIDE_INT ivindex; + tree fn; idelta = tree_low_cst (delta, 0); ivindex = tree_low_cst (vcall_index, 0); + fn = TREE_OPERAND (entry, 0); if ((idelta || ivindex) - && TREE_OPERAND (entry, 0) != abort_fndecl) + && fn != abort_fndecl + && !DECL_TINFO_FN_P (fn)) { entry = make_thunk (entry, idelta, ivindex); entry = build1 (ADDR_EXPR, vtable_entry_type, entry); |