// { dg-do link }// GROUPS passed templates membertemplatesextern"C"intprintf(const char*, ...);struct S
{template<class U>S(U u,int i) {}template<class T>
T foo(T t){printf("Hello, world.\n");return t;}};intmain(){
S s(3,4);int i = s.foo(3);
s.foo("hello");
s.foo(s);
S s2("hello",5);}