[Bug c++/57699] Disable empty parameter list misinterpretation in libstdc++ headers when !defined(NO_IMPLICIT_EXTERN_C)

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 25 08:31:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57699

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Paolo already patched libstdc++ and there's nothing to fix in eCos.

The point is that if I write

extern "C" {
void f();
}

in a libstdc++ header it should mean what the C++ standard says it means.

The implicit extern C kluge is for system headers not known to be C++
compatible, but libstdc++ headers are (of course) C++ compatible, so applying
the kluge is useless and causes bugs when people try to write valid C++, only
to find it has a different meaning on different platforms.



More information about the Gcc-bugs mailing list