1 // { dg-do assemble }
2 // Function pointers are ignored in Koenig lookup. (DR 218)
3 namespace A{
4 void foo();
5 struct X{};
6 void (*bar)(X*)=0; // { dg-message "A::bar" }
7 }
8 using A::X;
9
10 void (*foo)(X*)=0;
11
g()12 void g()
13 {
14 foo(new X); // ok -- DR 218 says that we find the global
15 // foo variable first, and therefore do not
16 // perform argument-dependent lookup.
17 bar(new X); // { dg-error "not declared" }
18 // { dg-message "suggested alternative" "suggested alternative" { target *-*-* } 17 }
19 }
20