Request Assistance Calling D from C++: weird visibility issue inside struct and namespace
Petar
Petar
Wed Nov 8 08:42:01 UTC 2017
On Wednesday, 8 November 2017 at 07:55:02 UTC, Andrew Edwards
wrote:
> On Wednesday, 8 November 2017 at 07:30:34 UTC, evilrat wrote:
>> On Wednesday, 8 November 2017 at 06:34:27 UTC, Andrew Edwards
>>
>> just using fully qualified name didn't make it?
>>
>> void call_cpp() {
>> ::foo("do great things"); // calling global foo
>> return;
>> }
>>
>
> No, it did not.
>
>> Are you sure you put it in a namespace in C++ too?
>
> Yes. That wasn't the issue
>
>> otherwise there might be some name mangling incompatibility
>> that probably worth filling a bug report
>
> That's the one. Thanks to the hint form, Nicholas Wilson, I was
> able to track it down and resolve it with a call to
> pragma(mangle).
>
> -Andrew
Walter has recently been working on improving the C++ mangling,
so be sure to test the latest dmd nightly build and if that
doesn't work be sure to file bug report(s).
https://github.com/dlang/dmd/pull/7250
https://github.com/dlang/dmd/pull/7259
https://github.com/dlang/dmd/pull/7272
More information about the Digitalmars-d-learn
mailing list