OSDN Git Service

PR C++/14865
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Jun 2004 10:23:05 +0000 (10:23 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Jun 2004 10:23:05 +0000 (10:23 +0000)
* decl2.c (maybe_emit_vtables):  Always import_export_vtable for the
reachability analysis.

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

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

index bfb995c..f5d903c 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 5b23519..ae31076 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,