1 // { dg-do compile } 2 3 // Origin: Steven Bosscher <steven@gcc.gnu.org> 4 // Serge Belyshev <belyshev@lubercy.com> 5 6 // PR c++/18825: ICE member as friend 7 8 template<class T> class A 9 { 10 void f (); // { dg-message "private" } 11 }; 12 13 template<class T> class B 14 { 15 friend void A<T>::f (); // { dg-error "this context" } 16 }; 17 f()18int f () 19 { 20 B<int> b; // { dg-message "required" } 21 return 0; 22 } 23