summaryrefslogtreecommitdiff
path: root/libitm/ChangeLog
diff options
context:
space:
mode:
authortorvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-20 00:10:08 +0000
committertorvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-20 00:10:08 +0000
commitc06f419b283d713f5dadfb3a8612381f1cec738e (patch)
treea5f0213fc60fbb82a4c54b886984d2979e44646d /libitm/ChangeLog
parentc0b6819ee6fc6779d545d22e359dca3949435ccb (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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230634 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libitm/ChangeLog')
-rw-r--r--libitm/ChangeLog26
1 files changed, 26 insertions, 0 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index 0564345903bd..4be05613c6c5 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,