[Issue 14956] New: C++ Mangling incompatible with C++11
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Mon Aug 24 08:07:09 PDT 2015
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: nobody at puremagic.com
Reporter: ibuclaw at 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_
--
More information about the Digitalmars-d-bugs
mailing list