1// { dg-do assemble  }
2
3template <class T>
4struct S;
5
6template <class T>
7class C
8{
9  friend void S<T>::f();
10
11  int i;
12};
13
14template <class T>
15struct S
16{
17  void f() {
18    C<T> c;
19    c.i = 3;
20  }
21};
22
23template void S<int>::f();
24