Remove unused explicit instantiation of __bind_simple
commit1a973a30ff1164f50eac92f6efd799e7a701476b
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Jul 2018 13:16:51 +0000 (17 13:16 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Jul 2018 13:16:51 +0000 (17 13:16 +0000)
tree402a8c4308d672babc7593faad188731e6cd3e3e
parent224f52483d9ce0e07bd20a1bc19476ade55087c4
Remove unused explicit instantiation of __bind_simple

The explicit instantiation of std::call_once used to require an
instantiation of __bind_simple, but call_once was changed by r241031 to
not use __bind_simple. The instantiation of __bind_simple (and the
definitions it uses) are not needed. They should have been removed
instead of doing the changes in r241111 that kept them compiling.

The use of std::call_once by _Async_state_common::_M_join can be
simplified to use a pointer instead of reference wrapper. The call_once
symbol isn't exported so the change isn't visible outside the library.

* src/c++11/compatibility-thread-c++0x.cc [_GLIBCXX_SHARED]
(_Async_state_common::_M_join): Simplify use of std::call_once and
corresponding explicit instantiation.
(_Maybe_wrap_member_pointer, _Bind_simple, _Bind_simple_helper)
(__bind_simple): Remove definitions and explicit instantiation that
are not required by exported symbols.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262823 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc