1// { dg-do link  }
2// GROUPS passed templates membertemplates
3extern "C" int printf(const char*, ...);
4
5struct S {
6  template <class T>
7  void foo(T);
8};
9
10
11template <class T>
12void S::foo(T)
13{
14  printf("Hello, world.\n");
15}
16
17
18
19int main()
20{
21  S s;
22  s.foo(3);
23  s.foo(s);
24}
25