1// { dg-do compile } 2 3// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu> 4 5// PR c++/9453 6// Access checking when template friend is defined in class. 7 8template <typename> class X { 9 private: 10 struct Inner; 11 12 template <typename R> 13 friend typename X<R>::Inner * foo () { return 0; } 14}; 15template class X<void>; 16 17struct U { 18 void bar () { foo<void> (); } 19}; 20