mirror of git://gcc.gnu.org/git/gcc.git
gcc/cp/ * except.c (do_free_exception): Use transactional wrapper. libitm/ * testsuite/libitm.c++/eh-5.C: New. * libitm.h (_ITM_cxa_free_exception): New. * libitm.map (_ITM_cxa_free_exception): Add it. * libitm.texi: Update ABI docs. * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove. (gtm_transaction_cp::cxa_uncaught_count): Add. (gtm_thread::cxa_unthrown): Remove. (gtm_thread::cxa_uncaught_count_ptr): Add. (gtm_thread::cxa_uncaught_count): Add. (gtm_thread::drop_references_allocations): Rename to... (gtm_thread::discard_allocation): ... this and adapt. (gtm_thread::init_cpp_exceptions): New. * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling. (gtm_thread::begin_transaction): Likewise. (gtm_transaction_cp::save): Likewise. (gtm_thread::trycommit): Likewise. * eh_cpp.cc: Add overview comments. (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare. (free_any_exception, _ITM_cxa_free_exception): New. (gtm_thread::init_cpp_exceptions): Define. (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt. (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise. (gtm_thread::revert_cpp_exceptions): Likewise. From-SVN: r230634 |
||
|---|---|---|
| .. | ||
| config | ||
| testsuite | ||
| ChangeLog | ||
| Makefile.am | ||
| Makefile.in | ||
| aatree.cc | ||
| aatree.h | ||
| acinclude.m4 | ||
| aclocal.m4 | ||
| alloc.cc | ||
| alloc_c.cc | ||
| alloc_cpp.cc | ||
| barrier.cc | ||
| beginend.cc | ||
| clone.cc | ||
| common.h | ||
| config.h.in | ||
| configure | ||
| configure.ac | ||
| configure.tgt | ||
| containers.h | ||
| dispatch.h | ||
| eh_cpp.cc | ||
| libitm.h | ||
| libitm.map | ||
| libitm.spec.in | ||
| libitm.texi | ||
| libitm_i.h | ||
| local.cc | ||
| local_atomic | ||
| local_type_traits | ||
| method-gl.cc | ||
| method-ml.cc | ||
| method-serial.cc | ||
| query.cc | ||
| retry.cc | ||
| stmlock.h | ||
| useraction.cc | ||
| util.cc | ||