diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/access16.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/access16.C | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/access16.C b/gcc/testsuite/g++.dg/template/access16.C new file mode 100644 index 000000000..bb7ebccb8 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/access16.C @@ -0,0 +1,16 @@ +// PR c++/23842 + +struct S; +extern S *p; +template <class T> int f(T*, int y = ((T*)p)->x) { + return y; +} +struct S { +private: + int x; + template <class U> friend int f(U*, int); +}; +int g() { + return f(p); +} + |