1 // { dg-do compile } 2 // PR c++/7874: Don't inject friend functions into global name space. 3 fA4namespace N { template<typename T> struct A { friend void f(A) { } }; } main()5int main() 6 { 7 N::A<int> a; 8 N::f(a); // { dg-error "not a member" } 9 } 10 11 struct S { friend void g(); friend void h(S); }; 12 struct T { friend void g(); friend void h(T); }; i()13void i() { 14 g(); // { dg-error "3:'g' was not declared" } 15 S s; 16 h(s); 17 T t; 18 h(t); 19 } 20