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