theraven
a1fb768e86
Register C++ exception handler correctly for little endian platforms as well as big endian ones.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32608 72102866-910b-0410-8b05-ffd578937521
2011-03-16 14:38:42 +00:00
rfm
a02864b726
improve testing
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32544 72102866-910b-0410-8b05-ffd578937521
2011-03-13 12:14:40 +00:00
theraven
f31000e770
Add some explicit casts-through-void* to silence warnings about casts that increase the alignment requirements of the pointee (mostly caused by using char* for arithmetic).
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32219 72102866-910b-0410-8b05-ffd578937521
2011-02-19 15:34:21 +00:00
rfm
6f1e7e3af3
emergency fixup for broken build
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30907 72102866-910b-0410-8b05-ffd578937521
2010-07-01 07:17:53 +00:00
theraven
152e3bf818
Added class for catching C++ exceptions. When using libobjc2, you can catch C++ exceptions by writing @catch(CXXException *e). This will wrap the C++ exception in an Objective-C object and allow you to access it by sending a -thrownValue message to the object. This returns a pointer to the exception. For example, if the exception is an integer, you would retrieve it like this from Objective-C:
...
@catch(CXXException *e)
{
int i = *(int*)[e thrownValue];
}
In ObjC++, you can also make sure that it really is an int, by doing:
assert(typeid(int) == *(std::type_info*)[e cxx_type_info]);
These interfaces are experimental and subject to change without notice.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30904 72102866-910b-0410-8b05-ffd578937521
2010-06-30 13:08:22 +00:00