1// { dg-do assemble  }
2
3template <class T>
4struct S
5{
6  template <class U = T>
7  friend class S;
8
9  void f(T);
10};
11
12template struct S<int>;
13
14void g()
15{
16  S<> s;
17  s.f(3);
18}
19