diff options
author | Torvald Riegel <triegel@redhat.com> | 2015-11-20 00:10:08 +0000 |
---|---|---|
committer | Torvald Riegel <triegel@redhat.com> | 2015-11-20 00:10:08 +0000 |
commit | a7be7a541ee2aff2b63892c43e08ae6b510d5a8f (patch) | |
tree | a5f0213fc60fbb82a4c54b886984d2979e44646d /libitm/ChangeLog | |
parent | 833a1830097345fb4de05cf29a80af4a3e13307d (diff) |
Support __cxa_free_exception and fix exception handling.
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@230634 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libitm/ChangeLog')
-rw-r--r-- | libitm/ChangeLog | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 0564345903b..4be05613c6c 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,29 @@ +2015-11-19 Torvald Riegel <triegel@redhat.com> + + * 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. + 2015-11-09 Torvald Riegel <triegel@redhat.com> * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX, |