Frederik Seiffert
61709e6101
Support building on Windows with Clang MSVC target
2021-02-03 15:02:27 +01:00
David Chisnall
397d15d8a1
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
Richard Frith-MacDonald
fae2b696cd
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
David Chisnall
ddad542fb1
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
Richard Frith-MacDonald
2edf4d1b0c
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
David Chisnall
edcd8d0c5d
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