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