[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