// { dg-do assemble } // PRMS Id: 5189 // Bug: g++ fails to collapse the several declarations of freefoo, so it isn't // recognized as a friend. extern "C" void freefoo(void); class foo { friend void freefoo(void); protected: static void foomem(); public: foo(); ~foo(); }; void freefoo(void) { foo::foomem(); }