Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.old-deja / g++.ns / koenig5.C
blob7c56d5cbc5e1f9df26cd5ed14d2494313f364ab3
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" }
8 using A::X;
10 void (*foo)(X*)=0;        
12 void g()
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 }