[Issue 19101] Miscompilation on extern(C++) overloads with D types

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Aug 14 14:17:55 UTC 2018


https://issues.dlang.org/show_bug.cgi?id=19101

--- Comment #2 from johanengelen at weka.io ---
> Assuming you suggest mangling `module mod; extern(C++) class C {};` as `mod::C`

No, of course not.

I suggest mangling `module mod; class C {};` as `mod.C`. Currently we mangle
extern(D) types as if they are extern(C++) types for extern(C++) templated
functions. In the original example, we currently mangle `foo!(a.A)(a.A)` as
`foo!(A)(A)`. Hence the miscompilation / clash with mangling of
`foo!(b.A)(b.A)`.

--


More information about the Digitalmars-d-bugs mailing list