https://issues.dlang.org/show_bug.cgi?id=14956
Issue ID: 14956 Summary: C++ Mangling incompatible with C++11 Product: D Version: D2 Hardware: All OS: Linux Status: NEW Severity: blocker Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: ibuc...@gdcproject.org DMD cannot link with C++ code compiled with GCC-5 because the mangling of the mangling for basic_string has changed. Reference: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html Affects the following tests: extern(C++) { void foo14a(std.basic_string!(char) *p); void foo14b(std.basic_string!(int) *p); void foo14f(std.char_traits!char* x, std.basic_string!char* p, std.basic_string!char* q); } Before (C++-98): _Z6foo14aPSs _Z6foo14bPSbIiSt11char_traitsIiESaIiEE _Z6foo14fPSt11char_traitsIcEPSsS2_ After (C++-11): _Z6foo14aPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE _Z6foo14bPNSt7__cxx1112basic_stringIiSt11char_traitsIiESaIiEEE _Z6foo14fPSt11char_traitsIcEPNSt7__cxx1112basic_stringIcS0_SaIcEEES6_ --