On Thursday, 22 October 2015 at 01:19:19 UTC, Andrei Alexandrescu
wrote:
On 10/21/2015 07:40 PM, Elie Morisse wrote:
It's been a while since the last update, so here's a quick one
before
making the jump to LDC 0.16.
Great news! What's the story on exceptions? Does Calypso allow
D code to catch exceptions thrown from C++ code? -- Andrei
Hi Andrei,
Not yet but I've looked into it, the plan is to add:
catch (C++) (...) { }
statements and make Clang translate them into C++ landing pads
(as for imports the parser will query the language plugins when
encountering two pairs of (), so the C++-specific statement will
be part of Calypso, not DMD).
Then add a "C++ exception class" handler in LDC's personality
function:
https://github.com/ldc-developers/druntime/blob/ldc/src/ldc/eh/libunwind.d#L327
Easier said that done but Clang should make the std::type_info
matching doable.
So it's on the roadmap just after the merge of LDC 0.16.