1// Build don't link: 2// GROUPS passed friends 3// Special g++ Options: -Wreturn-type 4 5 extern "C" int good_friend(int); 6 extern "C" int bad_friend(); 7 8 class assembler { 9 friend int good_friend(int); 10 friend int bad_friend(); 11 void *parts; 12 }; 13 14 assembler obj; 15 16 int good_friend(int) 17 { 18 obj.parts = 0; 19 } // ERROR - non-void 20 21 int bad_friend() 22 { 23 obj.parts = 0; 24 } // ERROR - non-void 25 26