re PR c++/14865 (No instantiation of VTT at -O1)
authorJan Hubicka <jh@suse.cz>
Sat, 26 Jun 2004 10:23:05 +0000 (12:23 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sat, 26 Jun 2004 10:23:05 +0000 (10:23 +0000)
PR C++/14865
* decl2.c (maybe_emit_vtables):  Always import_export_vtable for the
reachability analysis.

From-SVN: r83707

gcc/cp/ChangeLog
gcc/cp/decl2.c

index bfb995cb0af7b38c78f9c087fb1bdf7b8f61cda5..f5d903cdb6f98d93d29efabe37a7cffe6d39a0a1 100644 (file)
@@ -1,3 +1,9 @@
+2004-06-26  Jan Hubicka  <jh@suse.cz>
+
+       PR C++/14865
+       * decl2.c (maybe_emit_vtables):  Always import_export_vtable for the
+       reachability analysis.
+
 2004-06-25  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-mudflap.c (mflang_flush_calls): Fix thinkos resulting from
index 5b2351975b999c0fcdd1898661b2a0cf5cba0f1f..ae310768b750f8e95961e10a04620e99726aa987 100644 (file)
@@ -1564,12 +1564,14 @@ maybe_emit_vtables (tree ctype)
     return false;
 
   import_export_class (ctype);
-  import_export_vtable (primary_vtbl, ctype, 1);
 
   /* See if any of the vtables are needed.  */
   for (vtbl = CLASSTYPE_VTABLES (ctype); vtbl; vtbl = TREE_CHAIN (vtbl))
-    if (!DECL_EXTERNAL (vtbl) && DECL_NEEDED_P (vtbl))
-      break;
+    {
+      import_export_vtable (vtbl, ctype, 1);
+      if (!DECL_EXTERNAL (vtbl) && DECL_NEEDED_P (vtbl))
+       break;
+    }
   if (!vtbl)
     {
       /* If the references to this class' vtables are optimized away,