1// { dg-do assemble  }
2
3template <class U>
4class S1
5{
6  template <class T>
7  friend class S2;
8
9  static int i;
10};
11
12
13template <class T>
14class S2
15{
16public:
17  static void f() { S1<T>::i = 3; }
18};
19
20
21void g()
22{
23  S2<double>::f();
24  S2<long>::f();
25}
26
27