1// { dg-do assemble } 2// PRMS Id: 5189 3// Bug: g++ fails to collapse the several declarations of freefoo, so it isn't 4// recognized as a friend. 5 6extern "C" 7void freefoo(void); 8 9class foo { 10 friend void freefoo(void); 11 protected: 12 static void foomem(); 13 public: 14 foo(); 15 ~foo(); 16}; 17 18void freefoo(void) 19{ 20 foo::foomem(); 21} 22