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