// { dg-do link } // GROUPS passed templates membertemplates extern "C" int printf(const char*, ...); template struct S { template void f(U u); int i[4]; }; template template void S::f(U u) { printf ("%d\n", sizeof (U)); } int main() { S s; s.f(3); s.f(s); }