1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// { dg-do run } // Bug: g++ doesn't keep track of the lexical context of friends properly. extern "C" void exit(int); struct B; struct A { static void f () { exit (1); } }; struct B { static void f () { exit (0); } friend void g (B) { f (); } }; int main () { B b; g (b); }