aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-10-03 15:46:48 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-10-03 11:46:48 -0400
commitc3437800befdb2638d4062b1ae94de4043589df4 (patch)
treec3f8ec4c0e6fa069fe4aef984418a862aa877d44
parent71d718e0e4961c5f5377717404253e20389cb618 (diff)
downloadgcc-c3437800befdb2638d4062b1ae94de4043589df4.zip
gcc-c3437800befdb2638d4062b1ae94de4043589df4.tar.gz
gcc-c3437800befdb2638d4062b1ae94de4043589df4.tar.bz2
decl2.c (finish_vtable_vardecl): Check DECL_INTERFACE_KNOWN instead of linkage.
* decl2.c (finish_vtable_vardecl): Check DECL_INTERFACE_KNOWN instead of linkage. From-SVN: r22793
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl2.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index bb2a13b..23ae369 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+1998-10-03 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl2.c (finish_vtable_vardecl): Check DECL_INTERFACE_KNOWN
+ instead of linkage.
+
1998-10-01 Jason Merrill <jason@yorick.cygnus.com>
* cp-tree.h (FORMAT_VBASE_NAME): New macro.
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 34d2c93..ed24a2f 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -2703,8 +2703,7 @@ finish_vtable_vardecl (prev, vars)
tree prev, vars;
{
if (! DECL_EXTERNAL (vars)
- && ((TREE_PUBLIC (vars) && ! DECL_WEAK (vars) && ! DECL_ONE_ONLY (vars))
- || CLASSTYPE_EXPLICIT_INSTANTIATION (DECL_CONTEXT (vars))
+ && (DECL_INTERFACE_KNOWN (vars)
|| TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (vars))
|| (hack_decl_function_context (vars) && TREE_USED (vars)))
&& ! TREE_ASM_WRITTEN (vars))