aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-06-26 12:23:05 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2004-06-26 10:23:05 +0000
commite9e4d4ee5bd8785e26bc03f932ffbcfd6b19b918 (patch)
tree482492d14352ed196a6ab92db32a63475b2fe14e /gcc/cp
parent5cb2183e8b41ade5f28abc19e852de9081434ae5 (diff)
downloadgcc-e9e4d4ee5bd8785e26bc03f932ffbcfd6b19b918.zip
gcc-e9e4d4ee5bd8785e26bc03f932ffbcfd6b19b918.tar.gz
gcc-e9e4d4ee5bd8785e26bc03f932ffbcfd6b19b918.tar.bz2
re PR c++/14865 (No instantiation of VTT at -O1)
PR C++/14865 * decl2.c (maybe_emit_vtables): Always import_export_vtable for the reachability analysis. From-SVN: r83707
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl2.c8
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index bfb995c..f5d903c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 5b23519..ae31076 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,