http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49668
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-07-09 10:13:04 UTC --- Author: redi Date: Sat Jul 9 10:13:01 2011 New Revision: 176073 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176073 Log: 2011-07-09 Jonathan Wakely <jwakely....@gmail.com> PR libstdc++/49668 * include/std/functional (__bind_simple): Define. * include/std/future (_Task_setter): Parameterize by type of result pointer instead of state object. (_S_task_setter): Type deduction helper. (_Task_state): Use _S_task_setter and __bind_simple. (_Deferred_state, _Async_state): Store call wrapper directly not as std::function. Use _S_task_setter and __bind_simple. (_S_make_deferred_state, _S_make_async_state): Type deduction helpers. (async): Use new functions and __bind_simple. * include/std/mutex (call_once): Use __bind_simple. * include/std/thread (thread): Likewise. Remove unused headers. * src/thread.cc: Add header. * testsuite/30_threads/async/49668.cc: New. * testsuite/30_threads/call_once/49668.cc: New. * testsuite/30_threads/thread/cons/49668.cc: New. * testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool. Added: trunk/libstdc++-v3/testsuite/30_threads/async/49668.cc trunk/libstdc++-v3/testsuite/30_threads/call_once/49668.cc trunk/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc trunk/libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/functional trunk/libstdc++-v3/include/std/future trunk/libstdc++-v3/include/std/mutex trunk/libstdc++-v3/include/std/thread trunk/libstdc++-v3/src/thread.cc trunk/libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc