Commit 2ee8a2d5 by Jason Merrill Committed by Jason Merrill

re PR libstdc++/54314 (undefined references to 'construction vtable for…

re PR libstdc++/54314 (undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >')

	PR libstdc++/54314
gcc/
	* varasm.c (default_assemble_visibility): Don't warn about
	visibility on artificial decls.
gcc/cp/
	* class.c (build_ctor_vtbl_group): Give construction vtables
	hidden visibility.
libstdc++-v3/
	* config/abi/pre/gnu.ver: Don't export construction vtables.
	* config/abi/pre/gnu-versioned-namespace.ver: Likewise.

From-SVN: r195550
parent 77a03520
2013-01-29 Jason Merrill <jason@redhat.com>
PR libstdc++/54314
* varasm.c (default_assemble_visibility): Don't warn about
visibility on artificial decls.
2013-01-29 Richard Biener <rguenther@suse.de> 2013-01-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/56113 PR tree-optimization/56113
......
2013-01-29 Jason Merrill <jason@redhat.com>
PR libstdc++/54314
* class.c (build_ctor_vtbl_group): Give construction vtables
hidden visibility.
2013-01-25 Jason Merrill <jason@redhat.com> 2013-01-25 Jason Merrill <jason@redhat.com>
PR c++/56095 PR c++/56095
......
...@@ -8356,6 +8356,12 @@ build_ctor_vtbl_group (tree binfo, tree t) ...@@ -8356,6 +8356,12 @@ build_ctor_vtbl_group (tree binfo, tree t)
construction vtable group. */ construction vtable group. */
vtbl = build_vtable (t, id, ptr_type_node); vtbl = build_vtable (t, id, ptr_type_node);
DECL_CONSTRUCTION_VTABLE_P (vtbl) = 1; DECL_CONSTRUCTION_VTABLE_P (vtbl) = 1;
/* Don't export construction vtables from shared libraries. Even on
targets that don't support hidden visibility, this tells
can_refer_decl_in_current_unit_p not to assume that it's safe to
access from a different compilation unit (bz 54314). */
DECL_VISIBILITY (vtbl) = VISIBILITY_HIDDEN;
DECL_VISIBILITY_SPECIFIED (vtbl) = true;
v = NULL; v = NULL;
accumulate_vtbl_inits (binfo, TYPE_BINFO (TREE_TYPE (binfo)), accumulate_vtbl_inits (binfo, TYPE_BINFO (TREE_TYPE (binfo)),
......
...@@ -5788,8 +5788,9 @@ default_assemble_visibility (tree decl ATTRIBUTE_UNUSED, ...@@ -5788,8 +5788,9 @@ default_assemble_visibility (tree decl ATTRIBUTE_UNUSED,
assemble_name (asm_out_file, name); assemble_name (asm_out_file, name);
fprintf (asm_out_file, "\n"); fprintf (asm_out_file, "\n");
#else #else
warning (OPT_Wattributes, "visibility attribute not supported " if (!DECL_ARTIFICIAL (decl))
"in this configuration; ignored"); warning (OPT_Wattributes, "visibility attribute not supported "
"in this configuration; ignored");
#endif #endif
} }
......
2013-01-29 Jason Merrill <jason@redhat.com>
PR libstdc++/54314
* config/abi/pre/gnu.ver: Don't export construction vtables.
* config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com> 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/56112 PR libstdc++/56112
......
...@@ -55,9 +55,6 @@ GLIBCXX_7.0 { ...@@ -55,9 +55,6 @@ GLIBCXX_7.0 {
# function-scope static objects requires a guard variable. # function-scope static objects requires a guard variable.
_ZGVNSt*; _ZGVNSt*;
# construction vtable
_ZTCNSt*;
# VTT structure # VTT structure
_ZTTNSt*; _ZTTNSt*;
......
...@@ -1336,9 +1336,6 @@ GLIBCXX_3.4.18 { ...@@ -1336,9 +1336,6 @@ GLIBCXX_3.4.18 {
std::random_device::*; std::random_device::*;
}; };
# construction vtable
_ZTCSt*;
# std::this_thread::__sleep_for # std::this_thread::__sleep_for
_ZNSt11this_thread11__sleep_for*; _ZNSt11this_thread11__sleep_for*;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment