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