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