Thread overview
D is now catching C++ exceptions!
Jan 18, 2016
Walter Bright
Jan 19, 2016
Manu
Jan 19, 2016
Walter Bright
Jan 21, 2016
Taylor Hillegeist
Jan 21, 2016
Walter Bright
Jan 21, 2016
tsbockman
Jan 21, 2016
IgorStepanov
Jan 23, 2016
Iain Buclaw
January 18, 2016
at least for 64 bit Linux. Other platforms to follow.

  https://github.com/D-Programming-Language/dmd/pull/5342

This is what Andrei and I call "enabling" technology, as it opens the door for many more uses of D, in this case better interoperability with existing C++ codebases.

Thanks to everyone who helped out with this, especially Elie, Iain, David and Andrei!

Also looking forward to getting this in GDC and LDC!

Andrei and I feel that better interoperability with C++ is a major strategic feature and advantage for D. As the recent thread with Manu's frustrations in doing it show, we still have a significant way to go. But I hope to push it forward hard in the next few months.

For the fearless who love working under the hood, extending the support to the rest of the platforms is a great way to materially contribute.
January 19, 2016
On 19 January 2016 at 08:26, Walter Bright via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
> at least for 64 bit Linux. Other platforms to follow.
>
>   https://github.com/D-Programming-Language/dmd/pull/5342
>
> This is what Andrei and I call "enabling" technology, as it opens the door for many more uses of D, in this case better interoperability with existing C++ codebases.
>
> Thanks to everyone who helped out with this, especially Elie, Iain, David and Andrei!
>
> Also looking forward to getting this in GDC and LDC!
>
> Andrei and I feel that better interoperability with C++ is a major strategic feature and advantage for D. As the recent thread with Manu's frustrations in doing it show, we still have a significant way to go. But I hope to push it forward hard in the next few months.
>
> For the fearless who love working under the hood, extending the support to the rest of the platforms is a great way to materially contribute.

Nice work! Although I've never used C++ exceptions (or D exceptions) personally.
Is there a roadmap for this stuff I can check out? Short list of
upcoming C++ work?
January 18, 2016
On 1/18/2016 8:03 PM, Manu via Digitalmars-d-announce wrote:
> Nice work! Although I've never used C++ exceptions (or D exceptions) personally.
> Is there a roadmap for this stuff I can check out? Short list of
> upcoming C++ work?

Since you're at the bleeding edge of interfacing to C++, I'd say your problems are on the short list :-)

Since we're nowhere on Win64 C++ exceptions at the moment, I guess it's good you're not blocked by them.

January 21, 2016
On Tuesday, 19 January 2016 at 04:58:49 UTC, Walter Bright wrote:
> On 1/18/2016 8:03 PM, Manu via Digitalmars-d-announce wrote:
>> Nice work! Although I've never used C++ exceptions (or D exceptions) personally.
>> Is there a roadmap for this stuff I can check out? Short list of
>> upcoming C++ work?
>
> Since you're at the bleeding edge of interfacing to C++, I'd say your problems are on the short list :-)
>
> Since we're nowhere on Win64 C++ exceptions at the moment, I guess it's good you're not blocked by them.

What is the state of C++ interfacing? is the
http://dlang.org/spec/cpp_interface.html
up to date?
January 21, 2016
On 1/21/2016 10:34 AM, Taylor Hillegeist wrote:
> is the
> http://dlang.org/spec/cpp_interface.html
> up to date?

No.
January 21, 2016
On Thursday, 21 January 2016 at 18:34:27 UTC, Taylor Hillegeist wrote:
> What is the state of C++ interfacing? is the
> http://dlang.org/spec/cpp_interface.html
> up to date?

You can read more up-to-date documentation here: https://github.com/D-Programming-Language/dlang.org/pull/1154
January 21, 2016
On Monday, 18 January 2016 at 22:26:56 UTC, Walter Bright wrote:
> at least for 64 bit Linux. Other platforms to follow.
>
>   https://github.com/D-Programming-Language/dmd/pull/5342
>
> This is what Andrei and I call "enabling" technology, as it opens the door for many more uses of D, in this case better interoperability with existing C++ codebases.
>
> Thanks to everyone who helped out with this, especially Elie, Iain, David and Andrei!
>
> Also looking forward to getting this in GDC and LDC!
>
> Andrei and I feel that better interoperability with C++ is a major strategic feature and advantage for D. As the recent thread with Manu's frustrations in doing it show, we still have a significant way to go. But I hope to push it forward hard in the next few months.
>
> For the fearless who love working under the hood, extending the support to the rest of the platforms is a great way to materially contribute.

This is a good start and we should continue this work.
We need review our documentation about interfacing to C++ and clearly delineate the limits of our features.

For example we should say how do we may write D binding of C++ class.
How do we may inherit D-defined C++ class from external C++ class/interface?
When can we pass object of inherited class back to C++ code?
How do we may cast one extern(C++) class to another extern(C++) class in D?
In C++?
Which C++ features we support for different ABIs?


Also, I think, we need to implement linking to some C++ features (I'll help with this when I finish my alias this duty):
Linking to C++ overloaded operators (without moving their semantic to D).
C++ ctors/dtors.
Dynamic casting of C++ objects in D.
Maybe partial C++ RTTI support.
January 23, 2016
On 18 January 2016 at 23:26, Walter Bright via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote:

> at least for 64 bit Linux. Other platforms to follow.
>
>   https://github.com/D-Programming-Language/dmd/pull/5342
>
> This is what Andrei and I call "enabling" technology, as it opens the door for many more uses of D, in this case better interoperability with existing C++ codebases.
>
> Thanks to everyone who helped out with this, especially Elie, Iain, David and Andrei!
>
> Also looking forward to getting this in GDC and LDC!
>
> Andrei and I feel that better interoperability with C++ is a major strategic feature and advantage for D. As the recent thread with Manu's frustrations in doing it show, we still have a significant way to go. But I hope to push it forward hard in the next few months.
>
> For the fearless who love working under the hood, extending the support to the rest of the platforms is a great way to materially contribute.
>

Next step, catching any foreign exception thrown in Go, Ada, Java, [insert your language here].