OSDN Git Service

* class.c (build_vtable_entry): Don't build thunks for type-info
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Apr 2000 04:03:48 +0000 (04:03 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Apr 2000 04:03:48 +0000 (04:03 +0000)
functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33201 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/class.c

index 4634c2e..08fbb76 100644 (file)
@@ -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
index bf9c804..a850a27 100644 (file)
@@ -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);