// { dg-do compile } // Origin: Steven Bosscher // Serge Belyshev // PR c++/18825: ICE member as friend template class A { void f (); // { dg-error "private" } }; template class B { friend void A::f (); // { dg-error "this context" } }; int f () { B b; // { dg-message "required" } }