summaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-29 12:54:05 +0000
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-29 12:54:05 +0000
commit480f3486712dc685b5f56fbd91bad5cf312df611 (patch)
tree1c41b68da533870ce3a44a9dd4a934252561bfbf /libstdc++-v3/config
parentb09ec79ce28650d7b14089ac48312948dee38a48 (diff)
Reduce space and time overhead of std::thread
PR libstdc++/65393 * config/abi/pre/gnu.ver: Export new symbols. * include/std/thread (thread::_State, thread::_State_impl): New types. (thread::_M_start_thread): Add overload taking unique_ptr<_State>. (thread::_M_make_routine): Remove. (thread::_S_make_state): Add. (thread::_Impl_base, thread::_Impl, thread::_M_start_thread) [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally. * src/c++11/thread.cc (execute_native_thread_routine): Rename to execute_native_thread_routine_compat and re-define to use _State. (thread::_State::~_State()): Define. (thread::_M_make_thread): Define new overload. (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old overloads conditionally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228242 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver5
1 files changed, 5 insertions, 0 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index d42cd37af66f..08d9bc6c50e5 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1870,6 +1870,11 @@ GLIBCXX_3.4.22 {
# std::uncaught_exceptions()
_ZSt19uncaught_exceptionsv;
+ # std::thread::_State::~_State()
+ _ZT[ISV]NSt6thread6_StateE;
+ _ZNSt6thread6_StateD[012]Ev;
+ _ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE;
+
} GLIBCXX_3.4.21;
# Symbols in the support library (libsupc++) have their own tag.