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