gcc/libstdc++-v3/libsupc++
Gleb Natapov 27abac2648 libstdc++/68297 avoid throw/catch in make_exception_ptr
2016-08-22  Gleb Natapov  <gleb@scylladb.com>

	PR libstdc++/68297
	* config/abi/pre/gnu-versioned-namespace.ver: Export
	__cxa_init_primary_exception and std::exception_ptr(void*).
	* config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
	export __cxa_init_primary_exception and std::exception_ptr(void*).
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Add new headers.
	* libsupc++/Makefile.in: Regenerate.
	* libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
	* libsupc++/cxxabi_init_exception.h: New header.
	(__cxa_init_primary_exception): Declare.
	* libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
	(__cxa_throw): Use __cxa_init_primary_exception.
	* libsupc++/exception (std::exception): Move to ...
	* libsupc++/exception.h: New header.
	* libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
	friend declaration.
	(__exception_ptr::__dest_thunk): New function template.
	(std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
	Use __cxa_allocate_exception and __cxa_init_primary_exception to
	create exception_ptr.
	* libsupc++/typeinfo: Include bits/exception.h instead of exception.
	* testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.

From-SVN: r239664
2016-08-22 18:29:31 +01:00
..
Makefile.am libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
Makefile.in libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
array_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
atexit_arm.cc Update copyright years. 2016-01-04 15:30:50 +01:00
atexit_thread.cc Update copyright years. 2016-01-04 15:30:50 +01:00
atomic_lockfree_defines.h Update copyright years. 2016-01-04 15:30:50 +01:00
bad_alloc.cc Update copyright years. 2016-01-04 15:30:50 +01:00
bad_array_length.cc Update copyright years. 2016-01-04 15:30:50 +01:00
bad_array_new.cc Update copyright years. 2016-01-04 15:30:50 +01:00
bad_cast.cc Update copyright years. 2016-01-04 15:30:50 +01:00
bad_typeid.cc Update copyright years. 2016-01-04 15:30:50 +01:00
class_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
cxxabi.h libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
cxxabi_forced.h Update copyright years. 2016-01-04 15:30:50 +01:00
cxxabi_init_exception.h libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
del_op.cc Update copyright years. 2016-01-04 15:30:50 +01:00
del_opnt.cc Update copyright years. 2016-01-04 15:30:50 +01:00
del_ops.cc Update copyright years. 2016-01-04 15:30:50 +01:00
del_opv.cc Update copyright years. 2016-01-04 15:30:50 +01:00
del_opvnt.cc Update copyright years. 2016-01-04 15:30:50 +01:00
del_opvs.cc Update copyright years. 2016-01-04 15:30:50 +01:00
dyncast.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_alloc.cc libstdc++/69945 Add __gnu_cxx::__freeres hook 2016-03-24 18:13:40 +00:00
eh_arm.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_aux_runtime.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_call.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_catch.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_exception.cc libstdc++: Make certain exceptions transaction_safe. 2016-01-15 22:42:41 +00:00
eh_globals.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_personality.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_ptr.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_term_handler.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_terminate.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_throw.cc libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
eh_tm.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_type.cc Update copyright years. 2016-01-04 15:30:50 +01:00
eh_unex_handler.cc Update copyright years. 2016-01-04 15:30:50 +01:00
enum_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
exception libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
exception.h libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
exception_defines.h Update copyright years. 2016-01-04 15:30:50 +01:00
exception_ptr.h libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
function_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
fundamental_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
guard.cc * libsupc++/guard.cc: Revert my last commit. 2016-03-18 16:44:44 +01:00
guard_error.cc Update copyright years. 2016-01-04 15:30:50 +01:00
hash_bytes.cc Update copyright years. 2016-01-04 15:30:50 +01:00
hash_bytes.h Update copyright years. 2016-01-04 15:30:50 +01:00
initializer_list Update copyright years. 2016-01-04 15:30:50 +01:00
nested_exception.cc Update copyright years. 2016-01-04 15:30:50 +01:00
nested_exception.h Update copyright years. 2016-01-04 15:30:50 +01:00
new Remove unused operator delete overloads (LWG 2458) 2016-07-12 15:31:04 +01:00
new_handler.cc Update copyright years. 2016-01-04 15:30:50 +01:00
new_op.cc Update copyright years. 2016-01-04 15:30:50 +01:00
new_opnt.cc Update copyright years. 2016-01-04 15:30:50 +01:00
new_opv.cc Update copyright years. 2016-01-04 15:30:50 +01:00
new_opvnt.cc Update copyright years. 2016-01-04 15:30:50 +01:00
pbase_type_info.cc Use static pointer to member when catching nullptr 2016-07-20 19:21:48 +01:00
pmem_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
pointer_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
pure.cc Update copyright years. 2016-01-04 15:30:50 +01:00
si_class_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
tinfo.cc Update copyright years. 2016-01-04 15:30:50 +01:00
tinfo.h Update copyright years. 2016-01-04 15:30:50 +01:00
tinfo2.cc Update copyright years. 2016-01-04 15:30:50 +01:00
typeinfo libstdc++/68297 avoid throw/catch in make_exception_ptr 2016-08-22 18:29:31 +01:00
unwind-cxx.h Update copyright years. 2016-01-04 15:30:50 +01:00
vec.cc Update copyright years. 2016-01-04 15:30:50 +01:00
vmi_class_type_info.cc Update copyright years. 2016-01-04 15:30:50 +01:00
vterminate.cc Update copyright years. 2016-01-04 15:30:50 +01:00
vtv_stubs.cc Update copyright years. 2016-01-04 15:30:50 +01:00