On Sunday, 26 June 2016 at 09:28:19 UTC, Johan Engelen wrote:
On Sunday, 26 June 2016 at 07:51:16 UTC, Guillaume Chatelet
wrote:
This is fine in the case where E is a D interface because of
reference semantics: it should be passed by pointer.
But, in the case where an extern(C++) function calls an
extern(C++) type should it be value semantic - as it is in C++
- or reference semantic - as it is in D?
I think the semantics should be D, so e.g. reference semantics
for an extern(C++) class.
(This is all over ddmd source: many front-end classes are
extern(C++)).
A related PR:
https://github.com/dlang/dmd/pull/5875
Sounds good to me.
Johan I saw you created a few bugs for C++ name mangling. Can you
assigne the one for Linux to me. I'm redesigning the algorithm
and I need as many corner cases as possible.
Current test set is here:
https://github.com/gchatelet/dmd/tree/new_cpp_mangling2/test/mangling