http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60336
--- Comment #21 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Marc Glisse from comment #12) > It is a bit alarming that gcc, clang and clang++ use one ABI and g++ uses a > different (inferior) one (the incompatibility with clang++ should affect > some standard library functions, though they are often inlined). Also, > extern "C" is a calling convention marker, and it is rather disrespectful of > g++ to ignore it, even if this is only about a non-standard (but documented) > extension. See http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00868.html which was about adding a warning for the extern "C" case. And http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10208 for the ABI difference in the past about C/C++. There is most likely more discussion about this in other threads too.