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