http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59665
Bug ID: 59665 Summary: User code can cause ambiguous references to "std" in libstdc++ Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: fanael4 at gmail dot com The following PURE EVIL but legal code: namespace foo { namespace std {} } using namespace foo; #include <algorithm> causes the compiler to spew out lots of "error: reference to 'std' is ambiguous" errors deep in the bowels of libstdc++, for rather obvious reasons. Granted, this is code is worse than reload, but it's legal, and as such shouldn't break the standard library.