On 8 April 2014 11:08, Jacob Carlborg <[email protected]> wrote: > On 08/04/14 09:51, Iain Buclaw wrote: > >> We use libunwind, which is the same as what the C++ exception model >> uses, but we implement our own EH routines on-top of that to handle D >> exceptions specifically. This is typically what all gcc languages >> with EH do. > > > Is there a reason to not use the same model, or what's required to be > compatible? >
Yes, D exceptions are not packed in the same way as C++. Go and Java also have subtly different ways of passing language-specific data to libunwind. The closest language D is to is Java, in that they both put in the Object being thrown immediately before the generic libunwind exception header. That's where the similarities end. :)
