Control: forwarded -1 https://llvm.org/bugs/show_bug.cgi?id=23529 Control: found -1 clang-3.4/1:3.4.2-15 Control: found -1 clang-3.6/1:3.6.2-1 Control: found -1 clang-3.7/1:3.7-2 Control: found -1 clang-3.8/1:3.8~svn247576-1
Hi, I've been trying to fix this, see the upstream bug report and http://reviews.llvm.org/D12834 Some clarifications: The dual ABI in libstdc++ is *enabled*, so linking libstdc++ should work fine with clang++ -D_GLIBCXX_USE_CXX11_ABI=0 The problem is with other c++ libraries which provide interfaces based on the new libstdc++ ABI (for example by using std::string). I don't think there is any library apart from libstdc++ out there providing dual ABI (and I don't think it is trivial to add, as you need separate translation units afaik); instead they are now all build against the new ABI. The main source of incompatibilities is: - functions returning an "abi_tag"ged type, like ``std::string getName()`` - global variables with "abi_tag"ged type (global as in "needs a symbols visible in all translation units". static variables in inline functions might not trigger a linker error, but are broken anyway) regards, Stefan PS: g++-4.9 doesn't work either.