// { dg-do compile { target c++11 } } template void f(T) {} template void g(T) {} template void h(T) {} template void i(T) {} template void j(T) {} // { dg-error "this context" } class A { typedef int I; // { dg-error "private" } template friend void f(T); friend void g(A); friend void h(A); friend void i<>(A); }; int main() { A a; f(a); g(a); h(a); i(a); j(a); // { dg-error "no match" } }