summaryrefslogtreecommitdiff
path: root/gcc/cp/decl2.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 10:23:05 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-26 10:23:05 +0000
commit1fec0e58fbbc753ce17d3419198155f42ad0645d (patch)
tree482492d14352ed196a6ab92db32a63475b2fe14e /gcc/cp/decl2.c
parent010d0641f1741e7eb160b49ccd521e089828ef2a (diff)
downloadgcc-1fec0e58fbbc753ce17d3419198155f42ad0645d.tar.gz
PR C++/14865
* 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
Diffstat (limited to 'gcc/cp/decl2.c')
-rw-r--r--gcc/cp/decl2.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 5b2351975b9..ae310768b75 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -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,