// { dg-do assemble } // Origin: Matt Austern class A { public: static void f(); }; template class B : public A { friend void A::f(); }; template class C : public B { }; template class C;