Hello!
I'm currently writing on an Objective C framework and trying to port it
to OpenBSD. However, whenever I throw an exception using @throw,
abort() gets called. This is the usual behaviour if an exception isn't
cought. However, when I put it into a @try {} @catch {} block, that
doesn't change anything. For example, try this code:
#import <objc/Object.h>
int
main()
{
@try {
@throw [Object new];
} @catch (id e) {
[e free];
}
return 0;
}
Now if you compile it with egcc -fexceptions test.m -lobjc (you need
GCC 4.x), it will just abort. It will do the same on any other OS if you
don't specify -fexception or didn't catch the exception anywhere.
However, it doesn't make any difference on OpenBSD whether you specify
-fexceptions or not. Which is why I'm wondering: What's wrong here? Are
we missing exception support in the OpenBSD libc? If so, wouldn't that
give trouble with C++ as well? Or do I just need to specify some extra
flags on OpenBSD?
Thanks, help would be appreciated.
--
Jonathan
[demime 1.01d removed an attachment of type application/pgp-signature which had
a name of signature.asc]