On 21 Dec 2017, at 07:11, David Chisnall <[email protected]> wrote: > > On 20 Dec 2017, at 21:08, Lobron, David <[email protected]> wrote: >> >> The [NSException raise] method just calls "@throw self" when >> _NATIVE_OBJC_EXCEPTIONS is defined > > It does, but [NSException raise] is another function (well, method, but after > the call to objc_msgSend it’s a function). The exception is thrown from > there, not from the stack frame containing the @catch block.
It turns out that this is the crucial bit: throwing an Objective-C exception through a C++ catch (or ObjC++ @catch) block was broken. This is pretty uncommon, but we now have a test for it and it appears to be passing. I’ve also tweaked the build system so that we now don’t build a separate libobjcxx, which should give a more consistent interface. David _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
