------- Additional Comments From sstrasser at systemhaus-gruppe dot de 2005-01-31 07:48 ------- I think I was wrong, this is a bug _and_ has effects on compilation:
in example2(see above) int a is not extern "C" in the tree, AND it is C++ mangled in compiler output! std 7.5.7 states that a once declared extern "C" function is extern "C" even if defined without linkage specification. I can't find the same for variables, but since this is a redeclaration that must be the true: extern "C"{ extern int a; } int a; extern "C"{ int a; } I've attached a simple test case. link it and you'll get an undefined reference to "a". -- What |Removed |Added ---------------------------------------------------------------------------- Severity|minor |normal http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19474