re PR libstdc++/52104 (go1 fails to run on Solaris 10/11 x86 with with gld)
PR libstdc++/52104 * include/std/future (__future_base::_Async_state_common): Define destructor inline for targets without TLS. * src/c++11/future.cc (__future_base::_Async_state_common): Only define destructor for TLS targets. From-SVN: r183920
This commit is contained in:
parent
148ea7d8ef
commit
be38506d7c
3 changed files with 14 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
PR libstdc++/52104
|
||||
* include/std/future (__future_base::_Async_state_common): Define
|
||||
destructor inline for targets without TLS.
|
||||
* src/c++11/future.cc (__future_base::_Async_state_common): Only
|
||||
define destructor for TLS targets.
|
||||
|
||||
2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
PR libstdc++/51956
|
||||
|
|
|
@ -1425,7 +1425,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
class __future_base::_Async_state_common : public __future_base::_State_base
|
||||
{
|
||||
protected:
|
||||
#ifdef _GLIBCXX_HAVE_TLS
|
||||
~_Async_state_common();
|
||||
#else
|
||||
~_Async_state_common() { _M_join(); }
|
||||
#endif
|
||||
|
||||
// Allow non-timed waiting functions to block until the thread completes,
|
||||
// as if joined.
|
||||
|
|
|
@ -85,11 +85,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
|
||||
__future_base::_State_base::~_State_base() = default;
|
||||
|
||||
#ifdef _GLIBCXX_HAVE_TLS
|
||||
__future_base::_Async_state_common::~_Async_state_common() { _M_join(); }
|
||||
|
||||
// Explicit instantiation due to -fno-implicit-instantiation.
|
||||
template void call_once(once_flag&, void (thread::*&&)(), reference_wrapper<thread>&&);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace std
|
||||
|
|
Loading…
Add table
Reference in a new issue