// { dg-do assemble } template class S1 { template friend class S2; static int i; }; template class S2 { public: static void f() { S1::i = 3; } }; void g() { S2::f(); S2::f(); }