aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1999-01-19 11:14:54 +0000
committerJason Merrill <jason@gcc.gnu.org>1999-01-19 06:14:54 -0500
commite2213efb9d5fcf1db3fe35d08a827c82fccbd6a7 (patch)
tree08fa468a483255d6e530202b0cb16cf09a920ebb /gcc
parent440b3daedace65ca1cdceb3abdd1a85d1458bedc (diff)
downloadgcc-e2213efb9d5fcf1db3fe35d08a827c82fccbd6a7.zip
gcc-e2213efb9d5fcf1db3fe35d08a827c82fccbd6a7.tar.gz
gcc-e2213efb9d5fcf1db3fe35d08a827c82fccbd6a7.tar.bz2
decl2.c (finish_vtable_vardecl): Make vtables comdat here.
* decl2.c (finish_vtable_vardecl): Make vtables comdat here. (import_export_vtable): Not here. From-SVN: r24761
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl2.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 143ce6c..2b3a14f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+1999-01-19 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl2.c (finish_vtable_vardecl): Make vtables comdat here.
+ (import_export_vtable): Not here.
+
1999-01-18 Jason Merrill <jason@yorick.cygnus.com>
* typeck.c (build_component_ref): Wrap an OVERLOAD around a unique
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 9ca09cb..3033644 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -2473,10 +2473,6 @@ import_export_vtable (decl, type, final)
TREE_PUBLIC (decl) = 1;
DECL_EXTERNAL (decl) = ! CLASSTYPE_VTABLE_NEEDS_WRITING (type);
DECL_INTERFACE_KNOWN (decl) = 1;
-
- /* Always make vtables weak. */
- if (flag_weak)
- comdat_linkage (decl);
}
else
{
@@ -2645,6 +2641,10 @@ finish_vtable_vardecl (prev, vars)
DECL_IGNORED_P (vars) = 1;
}
+ /* Always make vtables weak. */
+ if (flag_weak)
+ comdat_linkage (vars);
+
rest_of_decl_compilation (vars, NULL_PTR, 1, 1);
if (flag_vtable_gc)