1 // PR c++/23842 2 3 struct S; 4 extern S *p; 5 template <class T> int f(T*, int y = ((T*)p)->x) { 6 return y; 7 } 8 struct S { 9 private: 10 int x; 11 template <class U> friend int f(U*, int); 12 }; g()13 int g() { 14 return f(p); 15 } 16 17