// { dg-do compile } // Origin: Martin Sebor // PR c++/5369: Member function of class template as friend template struct S { int foo () { return S::bar (); } private: template friend int S::foo (); static int bar () { return 0; } }; int main () { S().foo (); }