8 Commits (1d2e5f7a2dfb5635b3dc47ce48d57762a48e2c06)

Author SHA1 Message Date
theraven 2410ca70e2 Made name() const to avoid missing symbol error with libobjcxx. 13 years ago
theraven 26784adc0a Fix some warnings.
Remove the dependency on <typeinfo> containing the vtable layout for
std::type_info.  This allows libobjc2 to be built against libc++ and libcxxrt
and still provide working a unified exception model.

Note: This is broken on FreeBSD < 9.1, because it ships a libsupc++ with a
broken ABI.
14 years ago
theraven 66ee284bc7 Fix bug in unified exception model. 14 years ago
theraven 28b1db6f6e Make sure that -fPIC is specified for C++ files too. 15 years ago
theraven 73e1e2934b It turns out that Apple chose some confusing and non-intuitive semantics for
catching Objective-C objects in C++ catch statements (i.e. they follow
Objective-C semantics, not C++ semantics, irrespective of whether you use C++
or ObjC syntax).  We now default to Apple-compatible behaviour, but provide a
function that allows users to select the sane semantics if they prefer.

Added a capability bit for the unified exception model, so code can require it.
This is not really required, since any code using it will link against the
ObjC++ personality function and will get a linker failure if it isn't supported.

Also enabled Objective-C++ stuff by default.  This adds a dependency on the C++
standard library (actually on libsupc++, but GNUstep Make wants to link against
libstd++ anyway), which is not ideal.  It can be disabled with:

$ gmake objectiver-cxx=no

I suggest that this is only done by people who know that they will never want
Objective-C++ support.
15 years ago
theraven 6a2657ff6c Comment out a function that's only used for debugging. Not removed, because I'll probably break things and need it again... 15 years ago
theraven 3ccb4240cc Fix getting Objective-C objects out of C++ exceptions. 15 years ago
theraven e0719a9c62 Added Objective-C++ exception handling support. Allows throwing Objective-C objects with throw or @throw and catching them with catch() or @catch. 15 years ago