PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / template / koenig9.C
blobf2cf9ed9978ad00b315e51d4444c0cf2b389d0c0
1 // PR c++/29131
2 // int has no associated namespaces, so arg-dep lookup doesn't find g(int).
4 template <class T> int f() { return g(T()); } // { dg-error "argument-dependent" }
5 int g(int);                                   // { dg-message "declared here" }
6 int i = f<int>();
8 // PR c++/24163
9 // Unqualified lookup doesn't find names from dependent bases.
11 template <class T>
12 struct A
14   static void h(T);
17 template <class T> struct B: A<T>
19   void f() { h(T()); }          // { dg-error "argument-dependent" "arg-dep" }
20   static void g() { h(T()); }   // { dg-error "argument-dependent" "arg-dep" }
23 int main()
25   B<int> b;
26   b.f();
27   b.g();
30 // { dg-message "dependent base .A.int" "base" { target *-*-* } 19 }
31 // { dg-message "this->h" "this->h" { target *-*-* } 19 }
32 // { dg-message "dependent base .A.int" "base" { target *-*-* } 20 }
33 // { dg-message "B::h" "B::h" { target *-*-* } 20 }