The attached snippet should not compile, since foo() has internal linkage. Instead, g++ compiles it happily and without a warning even when given -Wall -W -pedantic.
-- Summary: g++ accepts code that violates 14.6.4.2 Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bagnara at cs dot unipr dot it CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19092