[cfe-dev] Does clang now emit [abi:cxx11] unconditionally when used with libstdc++?

Maria Gottschalk via cfe-dev cfe-dev at lists.llvm.org
Mon Aug 15 07:58:04 PDT 2016

Hmm. Yes, I'm refering to this gcc abi tag stuff. My question actually was how to disable this support in clang. With gcc the default (old/new abi) ist a build-time option. And one can also switch at compile time with a macro: -D_GLIBCXX_USE_CXX11_ABI=0/1.

Existing LTS distributions like RHEL stick to the old abi, of course, when they offer newer gcc's as an add-on. Otherwise, you could not link to any C++ system libraries.

So, is it correct that clang-3.9.0 unconditionally compiles for the new abi? That gcc 4.x.y is no longer usable and that you must have gcc 5+ if you want to use libstdc++?

That would be real bad.


Andrey Bokhanko <andreybokhanko at gmail.com> schrieb am 14:04 Montag, 15.August 2016:

Hi Maria,

Are you referring to "__attribute ((abi_tag)" support? If yes, it is enabled by default, no need for special options.

You can use libstdc++ without additional options as well.


On Mon, Aug 15, 2016 at 5:27 AM, Maria Gottschalk via cfe-dev <cfe-dev at lists.llvm.org> wrote:

Or do we have an option to select whether clang++ compiles for the old or the new abi?
>Thanks, M.
>______________________________ _________________
>cfe-dev mailing list
>cfe-dev at lists.llvm.org
>http://lists.llvm.org/cgi-bin/ mailman/listinfo/cfe-dev

More information about the cfe-dev mailing list