gcc/libstdc++-v3/include/std
Pauli Nieminen ed3cb49703 Support exception propagation without lock-free atomic int
2017-01-04  Pauli Nieminen  <suokkos@gmail.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/64735
	* acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
	* config.h.in: Regenerate.
	* config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
	(GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
	exports for exception_ptr, nested_exception, and future conditional.
	[HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
	exports for exception_ptr, nested_exception, and future conditional.
	* configure: Regenerate.
	* configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
	* include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
	* libsupc++/eh_atomics.h: New file for internal use only.
	(__eh_atomic_inc, __eh_atomic_dec): New.
	* libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
	(exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
	(rethrow_exception): Use eh_atomics.h reference counting helpers.
	* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
	* libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
	* libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
	* libsupc++/exception_ptr.h: Likewise.
	* libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
	* libsupc++/nested_exception.cc: Remove check for
	ATOMIC_INT_LOCK_FREE.
	* libsupc++/nested_exception.h: Likewise.
	* src/c++11/future.cc: Likewise.
	* testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
	* testsuite/18_support/nested_exception/*: Likewise.
	* testsuite/30_threads/async/*: Likewise.
	* testsuite/30_threads/future/*: Likewise.
	* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
	* testsuite/30_threads/packaged_task/*: Likewise.
	* testsuite/30_threads/promise/*: Likewise.
	* testsuite/30_threads/shared_future/*: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r244051
2017-01-04 10:54:59 +00:00
..
algorithm Update copyright years. 2017-01-01 13:07:43 +01:00
any Update copyright years. 2017-01-01 13:07:43 +01:00
array Update copyright years. 2017-01-01 13:07:43 +01:00
atomic Update copyright years. 2017-01-01 13:07:43 +01:00
bitset Update copyright years. 2017-01-01 13:07:43 +01:00
chrono Update copyright years. 2017-01-01 13:07:43 +01:00
codecvt Update copyright years. 2017-01-01 13:07:43 +01:00
complex Update copyright years. 2017-01-01 13:07:43 +01:00
condition_variable Update copyright years. 2017-01-01 13:07:43 +01:00
deque Update copyright years. 2017-01-01 13:07:43 +01:00
forward_list Update copyright years. 2017-01-01 13:07:43 +01:00
fstream Update copyright years. 2017-01-01 13:07:43 +01:00
functional Update copyright years. 2017-01-01 13:07:43 +01:00
future Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
iomanip Update copyright years. 2017-01-01 13:07:43 +01:00
ios Update copyright years. 2017-01-01 13:07:43 +01:00
iosfwd Update copyright years. 2017-01-01 13:07:43 +01:00
iostream Update copyright years. 2017-01-01 13:07:43 +01:00
istream Update copyright years. 2017-01-01 13:07:43 +01:00
iterator Update copyright years. 2017-01-01 13:07:43 +01:00
limits Update copyright years. 2017-01-01 13:07:43 +01:00
list Update copyright years. 2017-01-01 13:07:43 +01:00
locale Update copyright years. 2017-01-01 13:07:43 +01:00
map Update copyright years. 2017-01-01 13:07:43 +01:00
memory Update copyright years. 2017-01-01 13:07:43 +01:00
mutex Update copyright years. 2017-01-01 13:07:43 +01:00
numeric Update copyright years. 2017-01-01 13:07:43 +01:00
optional Update copyright years. 2017-01-01 13:07:43 +01:00
ostream Update copyright years. 2017-01-01 13:07:43 +01:00
queue Update copyright years. 2017-01-01 13:07:43 +01:00
random Update copyright years. 2017-01-01 13:07:43 +01:00
ratio Update copyright years. 2017-01-01 13:07:43 +01:00
regex Update copyright years. 2017-01-01 13:07:43 +01:00
scoped_allocator Update copyright years. 2017-01-01 13:07:43 +01:00
set Update copyright years. 2017-01-01 13:07:43 +01:00
shared_mutex Update copyright years. 2017-01-01 13:07:43 +01:00
sstream Update copyright years. 2017-01-01 13:07:43 +01:00
stack Update copyright years. 2017-01-01 13:07:43 +01:00
stdexcept Update copyright years. 2017-01-01 13:07:43 +01:00
streambuf Update copyright years. 2017-01-01 13:07:43 +01:00
string Update copyright years. 2017-01-01 13:07:43 +01:00
string_view Update copyright years. 2017-01-01 13:07:43 +01:00
system_error Update copyright years. 2017-01-01 13:07:43 +01:00
thread Add deleted std::thread(const thread&&) constructor 2017-01-03 13:31:26 +00:00
tuple Update copyright years. 2017-01-01 13:07:43 +01:00
type_traits Update copyright years. 2017-01-01 13:07:43 +01:00
typeindex Update copyright years. 2017-01-01 13:07:43 +01:00
unordered_map Update copyright years. 2017-01-01 13:07:43 +01:00
unordered_set Update copyright years. 2017-01-01 13:07:43 +01:00
utility Update copyright years. 2017-01-01 13:07:43 +01:00
valarray Update copyright years. 2017-01-01 13:07:43 +01:00
variant Update copyright years. 2017-01-01 13:07:43 +01:00
vector Update copyright years. 2017-01-01 13:07:43 +01:00