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.
  • Calypso progress report (+ ... Elie Morisse via Digitalmars-d-announce
    • Re: Calypso progress r... Andrei Alexandrescu via Digitalmars-d-announce
      • Re: Calypso progre... Elie Morisse via Digitalmars-d-announce
      • Re: Calypso progre... Elie Morisse via Digitalmars-d-announce
        • Re: Calypso pr... Andrei Alexandrescu via Digitalmars-d-announce
          • Re: Calyps... Elie Morisse via Digitalmars-d-announce
            • Re: C... deadalnix via Digitalmars-d-announce
              • R... Elie Morisse via Digitalmars-d-announce
                • ... deadalnix via Digitalmars-d-announce
                • ... Elie Morisse via Digitalmars-d-announce
                • ... deadalnix via Digitalmars-d-announce
                • ... deadalnix via Digitalmars-d-announce
                • ... Elie Morisse via Digitalmars-d-announce

Reply via email to