diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1999-01-19 11:14:54 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1999-01-19 06:14:54 -0500 |
commit | e2213efb9d5fcf1db3fe35d08a827c82fccbd6a7 (patch) | |
tree | 08fa468a483255d6e530202b0cb16cf09a920ebb /gcc | |
parent | 440b3daedace65ca1cdceb3abdd1a85d1458bedc (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 8 |
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) |