[cfe-commits] [libcxxabi] r148827 - in /libcxxabi/trunk/src: cxa_exception.cpp cxa_exception.hpp
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
>> 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?
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