// { dg-do link } // GROUPS passed templates membertemplates extern "C" int printf(const char*, ...); struct S { template void foo(T); }; template void S::foo(T) { printf("Hello, world.\n"); } int main() { S s; s.foo(3); s.foo(s); }