]> gcc.gnu.org Git - gcc.git/commitdiff
method.c (use_thunk): Make sure that thunks really are emitted when requested.
authorMark Mitchell <mark@codesourcery.com>
Fri, 27 Apr 2001 05:08:39 +0000 (05:08 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Fri, 27 Apr 2001 05:08:39 +0000 (05:08 +0000)
* method.c (use_thunk): Make sure that thunks really are emitted
when requested.

From-SVN: r41621

gcc/cp/ChangeLog
gcc/cp/method.c

index d6c2f48853c935300cadd556f1dbfd49e5e52bdd..c6e06acbf24092a5ac90c74b22d942a12f20ab1f 100644 (file)
@@ -1,3 +1,8 @@
+2001-04-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * method.c (use_thunk): Make sure that thunks really are emitted
+       when requested.
+
 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
 
        * mangle.c (write_chars): New macro.
index e3c88a4616d6f9e1c32e5cc37002abf22d4843e1..db45fd4ec169ca2afab863a4e4d5c409797c79d2 100644 (file)
@@ -377,7 +377,8 @@ make_thunk (function, delta, vcall_index, generate_with_vtable_p)
   return thunk;
 }
 
-/* Emit the definition of a C++ multiple inheritance vtable thunk.  */
+/* Emit the definition of a C++ multiple inheritance vtable thunk.  If
+   EMIT_P is non-zero, the thunk is emitted immediately.  */
 
 void
 use_thunk (thunk_fndecl, emit_p)
@@ -519,6 +520,11 @@ use_thunk (thunk_fndecl, emit_p)
     DECL_INITIAL (thunk_fndecl) = make_node (BLOCK);
     BLOCK_VARS (DECL_INITIAL (thunk_fndecl)) 
       = DECL_ARGUMENTS (thunk_fndecl);
+
+    /* Since we want to emit the thunk, we explicitly mark its name as
+       referenced.  */
+    TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (thunk_fndecl)) = 1;
+
     expand_body (finish_function (0));
   }
 
This page took 0.087474 seconds and 5 git commands to generate.