gcc/libstdc++-v3/libsupc++
Paolo Carlini 30a333ceeb [multiple changes]
2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
	* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
	* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
        * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.

2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>

	Add (again) exception propagation support as per N2179.  Feature is
	available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
	* libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
	propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
	(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139509
2008-08-23 11:28:30 +00:00
..
array_type_info.cc
atexit_arm.cc atexit_arm.cc: New file. 2007-05-04 17:42:49 +00:00
bad_cast.cc
bad_typeid.cc
class_type_info.cc
cxxabi-forced.h cxxabi-internal.h: Remove, to be replaced by... 2007-05-08 02:50:32 -04:00
cxxabi.h cxxabi.h (_GLIBCXX_NOTHROW): New macro. 2007-05-09 05:21:36 +00:00
del_op.cc cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify namespace std members. 2007-04-11 01:11:56 +00:00
del_opnt.cc
del_opv.cc
del_opvnt.cc
dyncast.cc
eh_alloc.cc [multiple changes] 2008-08-23 11:28:30 +00:00
eh_arm.cc [multiple changes] 2008-08-23 11:28:30 +00:00
eh_aux_runtime.cc
eh_call.cc [multiple changes] 2008-08-23 11:28:30 +00:00
eh_catch.cc
eh_exception.cc re PR other/28145 (C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL)) 2007-05-07 17:27:54 -04:00
eh_globals.cc
eh_personality.cc [multiple changes] 2008-08-23 11:28:30 +00:00
eh_ptr.cc [multiple changes] 2008-08-23 11:28:30 +00:00
eh_term_handler.cc
eh_terminate.cc
eh_throw.cc [multiple changes] 2008-08-23 11:28:30 +00:00
eh_type.cc [multiple changes] 2008-08-23 11:28:30 +00:00
eh_unex_handler.cc
enum_type_info.cc
exception [multiple changes] 2008-08-23 11:28:30 +00:00
exception_defines.h
exception_ptr.h [multiple changes] 2008-08-23 11:28:30 +00:00
function_type_info.cc
fundamental_type_info.cc
guard.cc acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of all used __sync builtins, in two sizes. 2008-04-24 14:40:29 +00:00
initializer_list user.cfg.in: Add complex, ratio, intializer_list. 2008-07-16 07:01:23 +00:00
Makefile.am [multiple changes] 2008-08-23 11:28:30 +00:00
Makefile.in [multiple changes] 2008-08-23 11:28:30 +00:00
new throw_allocator.h: Fixes for -fno-exceptions. 2007-06-26 11:01:15 +00:00
new_handler.cc
new_op.cc
new_opnt.cc
new_opv.cc
new_opvnt.cc
pbase_type_info.cc
pmem_type_info.cc
pointer_type_info.cc
pure.cc
si_class_type_info.cc
tinfo2.cc
tinfo.cc
tinfo.h
typeinfo re PR libstdc++/33678 (__do_catch, __do_upcast ABI change) 2007-10-06 23:40:32 +00:00
unwind-cxx.h [multiple changes] 2008-08-23 11:28:30 +00:00
vec.cc vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array address. 2008-06-27 23:02:06 +00:00
vmi_class_type_info.cc
vterminate.cc