http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52841
--- Comment #15 from Paul Pluzhnikov <ppluzhnikov at google dot com> 2012-05-30 19:13:02 UTC --- I've got another small reproducer, that shows up as a slightly different failure, but very likely is the same problem: namespace util { } // comment out => problem disappears namespace foo { namespace util { struct Printer { struct Convert { }; }; class XPrinter: Printer { // using ::foo::util::Printer::Convert; // ok // using Printer::Convert; // ok using foo::util::Printer::Convert; // error }; } } g++ --version g++ (GCC) 4.8.0 20120515 (experimental) g++ -c pp.ii -std=c++11 pp.ii:13:24: error: ‘util::Printer’ has not been declared using foo::util::Printer::Convert; // error g++ -c pp.ii -std=c++98 && echo ok ok