[cfe-commits] [libcxxabi] r148827 - in /libcxxabi/trunk/src: cxa_exception.cpp cxa_exception.hpp

Howard Hinnant hhinnant at apple.com
Tue Jan 24 13:28:17 PST 2012

On Jan 24, 2012, at 3:59 PM, Sebastian Redl wrote:

> On 24.01.2012, at 19:15, Howard Hinnant wrote:
>> Author: hhinnant
>> Date: Tue Jan 24 12:15:20 2012
>> New Revision: 148827
>> URL: http://llvm.org/viewvc/llvm-project?rev=148827&view=rev
>> Log:
>> Move kOurExceptionClass and kOurDependentExceptionClass from source to header so that they can be used in multiple sources.  This is a private header, these constants are not publicly exposed.
> Why don't we reuse GCC's exception class? We already call our personality routine the same. Don't we want to be link-compatible with gcc-compiled stuff?
> Sebastian

I think that's a possibility.  On __APPLE__ we will never be in a situation where gcc's runtime will be in play at the same time as libc++abi (so that possibility has not been designed for).

So this is more of a question for those interested in libc++abi running on non-Apple platforms.  Is this a scenario people want to tackle?  To work it will take some considerable design.  I can think of two ways to go:

1.  Try to mimic gcc's runtime in every way, and somehow make it ok for either run time to catch an exception thrown by the other.

2.  Have distinct exception_class ID's, to give each run time a chance to recognize that they are dealing with a foreign exception and take suitable action.

I have not given the problem enough thought to have formed an opinion, and probably won't until I complete the personality routine.


More information about the cfe-commits mailing list