Cpp/D interface semantic

Guillaume Chatelet via Digitalmars-d digitalmars-d at puremagic.com
Sun Jun 26 07:48:00 PDT 2016


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


More information about the Digitalmars-d mailing list