// { dg-do link } // GROUPS passed templates membertemplates extern "C" int printf(const char*, ...); template struct S { S() { printf ("In S::S()\n"); f(3); } S(char) { printf ("In S::S(char)\n"); f(*this); } template void f(U u) { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); } int c[16]; }; int main() { S s; S s2('a'); }