Home | History | Annotate | Download | only in SemaTemplate

Lines Matching full:friend

7       template<typename T> friend struct Y;
20 template<typename T> friend void f0(T);
21 template<typename T> friend void f1(T);
31 template<typename U> friend struct X0;
35 template<typename U> friend struct X0;
39 template<typename U> friend struct X0;
43 template<typename U> friend void f2(U);
44 template<typename U> friend void f3(U);
65 friend class Foo;
76 template<typename U, U Value> friend struct X2a;
79 // lookup ends up finding the friend target from X3<int>.
80 template<typename U, T Value> friend struct X2b; // expected-error {{template non-type parameter has a different type 'long' in template redeclaration}} \
92 template<typename T> friend void f(const A<T>&);
107 template <typename T> friend struct cache;
110 template <typename T> friend struct cache;
126 friend A<U1, U2, U3>& inner::f0(A<U1, U2, U3>&, T);
136 friend void f(X, int_c<N>) {
162 template <typename T1, typename T2, typename B> friend void op(X2<T1, T2>& , B);
194 template <typename T1, typename T2, typename B> friend void op(X2<T1, T2>& , B);
214 template<unsigned M> friend class X<T, U, M>; // expected-error{{partial specialization cannot be declared as a friend}}
220 // Don't crash, and error on invalid friend type template.
223 template <typename U> friend S<U>; // expected-error{{friend type templates must use an elaborated type}}