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

Reply via email to