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]

Reply via email to