1// { dg-do run  }
2extern "C" void abort();
3
4int k;
5
6template <class X>
7struct S
8{
9  template <class U>
10  void f(U u)
11  { ++k; g(u); }
12
13  template <class U>
14  void g(U u)
15  { ++k; }
16
17  int c[16];
18};
19
20int main()
21{
22  S<char*> s;
23  s.f(3);
24  s.f("adf");
25
26  if (k != 4)
27    abort();
28}
29