On Thursday, 12 November 2015 at 10:09:10 UTC, Iain Buclaw wrote:
On 12 November 2015 at 07:50, Walter Bright via Digitalmars-d <
digitalmars-d@puremagic.com> wrote:
I really appreciate the offers, and here's what will really
help:
Writing the druntime end of things, which is really providing
just two functions: d_throw (d_dwarf_throw to distinguish it)
and the libunwind personality function: __dmd_personality_v0.
The tricky part with the personality function will likely be
recognizing std::exception* exceptions. I wonder if forwarding
the call to __gxx_personality_v0 will work.
I'll have to check, but I'm pretty certain that libunwind will
call the C++ personality for you if you return `nothing found`
from D personality function.
The personality function is in the landingpad metadata. Why would
libunwind call the C++ one out of nowhere ?