// { dg-do link } // GROUPS passed templates membertemplates extern "C" int printf(const char*, ...); template struct S { template void g(U u) { printf ("In S::g(U)\n"); } int c[16]; }; template struct T : public S { template void f(U u) { printf ("In T::f(U)\n"); this->g(u); } }; int main() { T t; t.f(3); t.f("adf"); }