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
This commit is contained in:
parent
77a035209c
commit
2ee8a2d5ce
7 changed files with 27 additions and 8 deletions
|
@ -1,3 +1,9 @@
|
|||
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>
|
||||
|
||||
PR tree-optimization/56113
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
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>
|
||||
|
||||
PR c++/56095
|
||||
|
|
|
@ -8356,6 +8356,12 @@ build_ctor_vtbl_group (tree binfo, tree t)
|
|||
construction vtable group. */
|
||||
vtbl = build_vtable (t, id, ptr_type_node);
|
||||
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;
|
||||
accumulate_vtbl_inits (binfo, TYPE_BINFO (TREE_TYPE (binfo)),
|
||||
|
|
|
@ -5788,8 +5788,9 @@ default_assemble_visibility (tree decl ATTRIBUTE_UNUSED,
|
|||
assemble_name (asm_out_file, name);
|
||||
fprintf (asm_out_file, "\n");
|
||||
#else
|
||||
warning (OPT_Wattributes, "visibility attribute not supported "
|
||||
"in this configuration; ignored");
|
||||
if (!DECL_ARTIFICIAL (decl))
|
||||
warning (OPT_Wattributes, "visibility attribute not supported "
|
||||
"in this configuration; ignored");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
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>
|
||||
|
||||
PR libstdc++/56112
|
||||
|
|
|
@ -55,9 +55,6 @@ GLIBCXX_7.0 {
|
|||
# function-scope static objects requires a guard variable.
|
||||
_ZGVNSt*;
|
||||
|
||||
# construction vtable
|
||||
_ZTCNSt*;
|
||||
|
||||
# VTT structure
|
||||
_ZTTNSt*;
|
||||
|
||||
|
|
|
@ -1336,9 +1336,6 @@ GLIBCXX_3.4.18 {
|
|||
std::random_device::*;
|
||||
};
|
||||
|
||||
# construction vtable
|
||||
_ZTCSt*;
|
||||
|
||||
# std::this_thread::__sleep_for
|
||||
_ZNSt11this_thread11__sleep_for*;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue