www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D is now catching C++ exceptions!

reply Walter Bright <newshound2 digitalmars.com> writes:
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.
Jan 18
next sibling parent reply Manu via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> writes:
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?
Jan 18
parent reply Walter Bright <newshound2 digitalmars.com> writes:
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.
Jan 18
parent reply Taylor Hillegeist <taylorh140 gmail.com> writes:
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?
Jan 21
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/21/2016 10:34 AM, Taylor Hillegeist wrote:
 is the
 http://dlang.org/spec/cpp_interface.html
 up to date?
No.
Jan 21
prev sibling parent tsbockman <thomas.bockman gmail.com> writes:
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
Jan 21
prev sibling next sibling parent IgorStepanov <wazar mail.ru> writes:
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.
Jan 21
prev sibling parent Iain Buclaw via Digitalmars-d-announce writes:
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].
Jan 23