mirror of git://gcc.gnu.org/git/gcc.git
Use default visibility to work around clang -fvisibility-inlines-hidden bug
Clang (including trunk and many older versions) incorrectly marks static local variables (__tag) hidden when -fvisibility-inlines-hidden is used. This can lead to multiple instances of __tag when shares objects are used. 2018-07-20 Fangrui Song <maskray@google.com> * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use _GLIBCXX_VISIBILITY(default). From-SVN: r262903
This commit is contained in:
parent
afa07bdd78
commit
2143168e07
|
|
@ -1,3 +1,8 @@
|
||||||
|
2018-07-20 Fangrui Song <maskray@google.com>
|
||||||
|
|
||||||
|
* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
|
||||||
|
_GLIBCXX_VISIBILITY(default).
|
||||||
|
|
||||||
2018-07-20 Jonathan Wakely <jwakely@redhat.com>
|
2018-07-20 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
PR libstdc++/86603
|
PR libstdc++/86603
|
||||||
|
|
|
||||||
|
|
@ -508,7 +508,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
friend class _Sp_counted_ptr_inplace;
|
friend class _Sp_counted_ptr_inplace;
|
||||||
|
|
||||||
static const type_info&
|
static const type_info&
|
||||||
_S_ti() noexcept
|
_S_ti() noexcept _GLIBCXX_VISIBILITY(default)
|
||||||
{
|
{
|
||||||
alignas(type_info) static constexpr _Sp_make_shared_tag __tag;
|
alignas(type_info) static constexpr _Sp_make_shared_tag __tag;
|
||||||
return reinterpret_cast<const type_info&>(__tag);
|
return reinterpret_cast<const type_info&>(__tag);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue