1 // { dg-do compile } 2 3 // Origin: Martin Sebor <sebor@roguewave.com> 4 5 // PR c++/5369: Member function of class template as friend 6 7 template <class T> 8 struct S 9 { fooS10 int foo () { 11 return S<int>::bar (); 12 } 13 14 private: 15 16 template <class U> 17 friend int S<U>::foo (); 18 barS19 static int bar () { return 0; } 20 }; 21 main()22int main () 23 { 24 S<char>().foo (); 25 } 26