// RUN: %clang_cc1 -fsyntax-only -verify %s template struct A { struct B { }; friend struct B; }; void f() { A::B b; } struct C0 { friend struct A; }; namespace PR6770 { namespace N { int f1(int); } using namespace N; namespace M { float f1(float); } using M::f1; template void f1(T, T); template void f() { friend class f; // expected-error{{'friend' used outside of class}} friend class f1; // expected-error{{'friend' used outside of class}} } }