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