// 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}} | |
} | |
} |