// { dg-do compile } | |
// PR c++/7874: Don't inject friend functions into global name space. | |
namespace N { template<typename T> struct A { friend void f(A) { } }; } | |
int main() | |
{ | |
N::A<int> a; | |
N::f(a); // { dg-error "not a member" } | |
} | |
struct S { friend void g(); friend void h(S); }; | |
struct T { friend void g(); friend void h(T); }; | |
void i() { | |
g(); // { dg-error "3:'g' was not declared" } | |
S s; | |
h(s); | |
T t; | |
h(t); | |
} |