gcc/libstdc++-v3/include
Jonathan Wakely 9db7c9316e Define *_at_thread_exit() functions.
* config/abi/pre/gnu.ver: Add new exports.
	* include/std/condition_variable (notify_all_at_thread_exit): Declare.
	(__at_thread_exit_elt): New base class.
	* include/std/future: Add comments documenting the implementation.
	(__future_base::_State_baseV2::_State_baseV2()): Use brace-or-equal
	initializers and define constructor as defaulted.
	(__future_base::_State_baseV2::_M_ready): Replace member function
	with member variable.
	(__future_base::_State_baseV2::_M_set_result): Set _M_ready.
	(__future_base::_State_baseV2::_M_set_delayed_result): Define.
	(__future_base::_State_baseV2::_M_break_promise): Set _M_ready.
	(__future_base::_State_baseV2::_Make_ready): New helper class.
	(__future_base::_Deferred_state::_M_has_deferred): Remove requirement
	for caller to own mutex.
	(__future_base::_Async_state_impl::~_Async_state_impl): Call join
	directly.
	(__future_base::_Task_state_base::_M_run): Take arguments by
	reference.
	(__future_base::_Task_state_base::_M_run_delayed): Declare new pure
	virtual function.
	(__future_base::_Task_state::_M_run_delayed): Define override.
	(promise::set_value_at_thread_exit): Define.
	(promise::set_exception_at_thread_exit): Define.
	(packaged_task::make_ready_at_thread_exit): Define.
	* src/c++11/condition_variable.cc (notify_all_at_thread_exit): Define.
	* src/c++11/future.cc
	(__future_base::_State_baseV2::_Make_ready::_M_set): Define.
	* testsuite/30_threads/condition_variable/members/3.cc: New.
	* testsuite/30_threads/packaged_task/members/at_thread_exit.cc: New.
	* testsuite/30_threads/promise/members/at_thread_exit.cc: New.

From-SVN: r218255
2014-12-02 01:51:25 +00:00
..
backward re PR c++/33911 (attribute deprecated vs. templates) 2014-11-17 17:09:27 -05:00
bits nonio.h (__timepunct): Remove unused typedef. 2014-11-29 22:58:33 +00:00
c
c_compatibility
c_global machmode.h (int_n_data_t): New. 2014-10-14 15:44:36 -04:00
c_std machmode.h (int_n_data_t): New. 2014-10-14 15:44:36 -04:00
debug re PR libstdc++/63500 (bug in debug version of std::make_move_iterator?) 2014-10-15 20:40:31 +00:00
decimal
experimental optional (_Has_addressof): Check for non-member operator&. 2014-11-12 00:16:19 +00:00
ext re PR c++/33911 (attribute deprecated vs. templates) 2014-11-17 17:09:27 -05:00
parallel numeric.h: Do not use default arguments in function template redeclarations (definitions). 2014-11-04 03:41:16 +00:00
precompiled
profile Major maintenance patch of the profile mode. 2014-11-10 21:51:58 +00:00
std Define *_at_thread_exit() functions. 2014-12-02 01:51:25 +00:00
tr1 re PR libstdc++/63840 (std::function copy constructor deletes an uninitialized pointer if new fails) 2014-12-01 13:49:20 +00:00
tr2
Makefile.am std::shared_ptr atomic operations 2014-11-12 23:55:11 +00:00
Makefile.in std::shared_ptr atomic operations 2014-11-12 23:55:11 +00:00