gnustep / libobjc2

Objective-C runtime library intended for use with Clang.
http://www.gnustep.org/
MIT License
434 stars 118 forks source link

Rework Objective-C++ exceptions. #131

Closed davidchisnall closed 4 years ago

davidchisnall commented 4 years ago

The new version now does not depend on the layout of the C++ exception structure and instead finds the two offsets that it cares about.

Fixes #108

davidchisnall commented 4 years ago

@triplef, this version completely removes any static knowledge of the __cxa_exception structure and so should be less problematic with different C++ runtime libraries. Please can you test it on the platforms that you care about and see if it makes things better (or, at least, no worse!)?

davidchisnall commented 4 years ago

Never mind, it looks as if libsupc++ doesn't support the library function that this depends on.

davidchisnall commented 4 years ago

I can probably work around it using std::exception_ptr, since libstdc++ platforms typically also require linking to libstdc++.