// PR c++/29131 // int has no associated namespaces, so arg-dep lookup doesn't find g(int). template int f() { return g(T()); } // { dg-error "argument-dependent" } int g(int); // { dg-message "declared here" } int i = f(); // PR c++/24163 // Unqualified lookup doesn't find names from dependent bases. template struct A { static void h(T); }; template struct B: A { void f() { h(T()); } // { dg-error "argument-dependent" "arg-dep" } static void g() { h(T()); } // { dg-error "argument-dependent" "arg-dep" } }; int main() { B b; b.f(); b.g(); } // { dg-message "dependent base .A.int" "base" { target *-*-* } 19 } // { dg-message "this->h" "this->h" { target *-*-* } 19 } // { dg-message "dependent base .A.int" "base" { target *-*-* } 20 } // { dg-message "B::h" "B::h" { target *-*-* } 20 }