This is the mail archive of the
libstdc++-cvs@gcc.gnu.org
mailing list for the libstdc++ project.
r241031 - in /trunk/libstdc++-v3: ChangeLog doc...
- From: redi at gcc dot gnu dot org
- To: libstdc++-cvs at gcc dot gnu dot org
- Date: Wed, 12 Oct 2016 11:20:25 -0000
- Subject: r241031 - in /trunk/libstdc++-v3: ChangeLog doc...
Author: redi
Date: Wed Oct 12 11:20:25 2016
New Revision: 241031
URL: https://gcc.gnu.org/viewcvs?rev=241031&root=gcc&view=rev
Log:
Do not copy std:call_once arguments (LWG 2442)
* doc/xml/manual/intro.xml: Document LWG 2442 status.
* include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
[_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
partial specialization to unpack args and forward to std::invoke.
(call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
instead of __bind_simple and __once_call_impl.
(call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
__bind_simple.
* testsuite/30_threads/call_once/dr2442.cc: New test.
Added:
trunk/libstdc++-v3/testsuite/30_threads/call_once/dr2442.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/doc/xml/manual/intro.xml
trunk/libstdc++-v3/include/std/mutex