// { dg-do assemble } // This testcase won't fail if class ::foo is forward-declared in the // global namespace, nor if class bar is not a template class. template class bar { public: friend class foo; // this is not bar::foo, it forward-declares ::foo class foo {}; bar() { foo(); } // but this should refer to bar::foo }; bar<> baz;