https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65393

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Tue Sep 29 12:54:05 2015
New Revision: 228242

URL: https://gcc.gnu.org/viewcvs?rev=228242&root=gcc&view=rev
Log:
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.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/config/abi/pre/gnu.ver
    trunk/libstdc++-v3/include/std/thread
    trunk/libstdc++-v3/src/c++11/thread.cc

Reply via email to