https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81609
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=32042 --- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- It does look similar or related to bug 32042. The C front-end does the right thing and rejects the mismatched declarations, so G++ doesn't match its behavior for the equivalent extern "C" case. G++ only rejects the conflicting declarations if they both have C++ linkage.