OSDN Git Service

PR c++/24163
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / koenig9.C
1 // PR c++/29131
2 // int has no associated namespaces, so arg-dep lookup doesn't find g(int).
3
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>();
7
8 // PR c++/24163
9 // Unqualified lookup doesn't find names from dependent bases.
10
11 template <class T>
12 struct A
13 {
14   static void h(T);
15 };
16
17 template <class T> struct B: A<T>
18 {
19   void f() { h(T()); }          // { dg-error "argument-dependent" }
20   static void g() { h(T()); }   // { dg-error "argument-dependent" }
21 };
22
23 int main()
24 {
25   B<int> b;
26   b.f();
27   b.g();
28 }
29
30 // { dg-message "dependent base .A.int" "" { target *-*-* } 19 }
31 // { dg-message "this->h" "" { target *-*-* } 19 }
32 // { dg-message "dependent base .A.int" "" { target *-*-* } 20 }
33 // { dg-message "B::h" "" { target *-*-* } 20 }