8sa1-gcc/libstdc++-v3/libsupc++
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
..
array_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
atexit_arm.cc Update copyright years. 2017-01-01 13:07:43 +01:00
atexit_thread.cc Update copyright years. 2017-01-01 13:07:43 +01:00
atomic_lockfree_defines.h Update copyright years. 2017-01-01 13:07:43 +01:00
bad_alloc.cc Update copyright years. 2017-01-01 13:07:43 +01:00
bad_array_length.cc Update copyright years. 2017-01-01 13:07:43 +01:00
bad_array_new.cc Update copyright years. 2017-01-01 13:07:43 +01:00
bad_cast.cc Update copyright years. 2017-01-01 13:07:43 +01:00
bad_typeid.cc Update copyright years. 2017-01-01 13:07:43 +01:00
class_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
cxxabi_forced.h Update copyright years. 2017-01-01 13:07:43 +01:00
cxxabi_init_exception.h Update copyright years. 2017-01-01 13:07:43 +01:00
cxxabi.h Update copyright years. 2017-01-01 13:07:43 +01:00
del_op.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opa.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opant.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opnt.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_ops.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opsa.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opv.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opva.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opvant.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opvnt.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opvs.cc Update copyright years. 2017-01-01 13:07:43 +01:00
del_opvsa.cc Update copyright years. 2017-01-01 13:07:43 +01:00
dyncast.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_alloc.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_arm.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_atomics.h Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
eh_aux_runtime.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_call.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_catch.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_exception.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_globals.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_personality.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_ptr.cc Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
eh_term_handler.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_terminate.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_throw.cc Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
eh_tm.cc Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
eh_type.cc Update copyright years. 2017-01-01 13:07:43 +01:00
eh_unex_handler.cc Update copyright years. 2017-01-01 13:07:43 +01:00
enum_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
exception Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
exception_defines.h Update copyright years. 2017-01-01 13:07:43 +01:00
exception_ptr.h Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
exception.h Update copyright years. 2017-01-01 13:07:43 +01:00
function_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
fundamental_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
guard_error.cc Update copyright years. 2017-01-01 13:07:43 +01:00
guard.cc Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
hash_bytes.cc Update copyright years. 2017-01-01 13:07:43 +01:00
hash_bytes.h Update copyright years. 2017-01-01 13:07:43 +01:00
initializer_list Update copyright years. 2017-01-01 13:07:43 +01:00
Makefile.am Update copyright years. 2017-01-01 13:07:43 +01:00
Makefile.in
nested_exception.cc Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
nested_exception.h Support exception propagation without lock-free atomic int 2017-01-04 10:54:59 +00:00
new Update copyright years. 2017-01-01 13:07:43 +01:00
new_handler.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_op.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_opa.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_opant.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_opnt.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_opv.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_opva.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_opvant.cc Update copyright years. 2017-01-01 13:07:43 +01:00
new_opvnt.cc Update copyright years. 2017-01-01 13:07:43 +01:00
pbase_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
pmem_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
pointer_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
pure.cc Update copyright years. 2017-01-01 13:07:43 +01:00
si_class_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
tinfo2.cc Update copyright years. 2017-01-01 13:07:43 +01:00
tinfo.cc Update copyright years. 2017-01-01 13:07:43 +01:00
tinfo.h Update copyright years. 2017-01-01 13:07:43 +01:00
typeinfo Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-cxx.h Update copyright years. 2017-01-01 13:07:43 +01:00
vec.cc Update copyright years. 2017-01-01 13:07:43 +01:00
vmi_class_type_info.cc Update copyright years. 2017-01-01 13:07:43 +01:00
vterminate.cc Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_stubs.cc Update copyright years. 2017-01-01 13:07:43 +01:00