r241031 - in /trunk/libstdc++-v3: ChangeLog doc...

redi@gcc.gnu.org redi@gcc.gnu.org
Wed Oct 12 11:20:00 GMT 2016


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



More information about the Libstdc++-cvs mailing list