[PATCH] Transactional Memory: Support __cxa_free_exception and fix exception handling.
Jason Merrill
jason@redhat.com
Thu Nov 19 18:30:00 GMT 2015
On 11/18/2015 06:22 PM, Torvald Riegel wrote:
> The EH scheme that we had been using for TM / libitm doesn't work
> properly. We fail to handle throwing exceptions whose constructors may
> throw themselves. We also do not clean up properly in all situations
> when a transactions abort while being in the process of throwing an
> exception.
> This patch solves this particular problem by adding a transactional
> wrapper for __cxa_free_exception and changing the EH scheme in libitm.
>
> Follow-up patches will fix other issues that we have identified. Some
> of the changes to the libitm.texi ABI docs added in this patch already
> take this future work into account.
>
> Tested using the libitm testsuite on x86_64-linux.
>
> Are the gcc/ bits OK?
>
> gcc/cp/
> * except.c (do_free_exception): Use transactional wrapper.
OK.
Jason
More information about the Gcc-patches
mailing list