1// { dg-do link  }
2// GROUPS passed templates membertemplates
3extern "C" int printf(const char*, ...);
4
5template <class X>
6struct S
7{
8  S()
9  { printf ("In S::S()\n"); f(3); }
10
11  S(char)
12  { printf ("In S::S(char)\n"); f(*this); }
13
14  template <class U>
15  void f(U u)
16  { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); }
17
18  int c[16];
19};
20
21int main()
22{
23  S<char*> s;
24}
25