diff options
author | Patrick Palka <ppalka@redhat.com> | 2021-04-22 13:32:40 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2021-04-22 13:32:40 -0400 |
commit | 330cc29c06306ebf7bd3b2d37704cc69944923ff (patch) | |
tree | 65c2252b6983ae4c165a5f0b99c1e80fde8119d0 | |
parent | ac456fd981db6b0c2f7ee1ab0d17d36087a74dc2 (diff) | |
download | gcc-330cc29c06306ebf7bd3b2d37704cc69944923ff.zip gcc-330cc29c06306ebf7bd3b2d37704cc69944923ff.tar.gz gcc-330cc29c06306ebf7bd3b2d37704cc69944923ff.tar.bz2 |
c++: Add testcase for already fixed PR [PR16617]
We correctly diagnose the invalid access since r11-1350.
gcc/testsuite/ChangeLog:
PR c++/16617
* g++.dg/template/access36.C: New test.
-rw-r--r-- | gcc/testsuite/g++.dg/template/access36.C | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/access36.C b/gcc/testsuite/g++.dg/template/access36.C new file mode 100644 index 0000000..72ca23c --- /dev/null +++ b/gcc/testsuite/g++.dg/template/access36.C @@ -0,0 +1,25 @@ +// PR c++/16617 + +class B +{ + protected: + int i; +}; + +template <class T> void fr (); + +class D2 : public B +{ + friend void fr<int> (); +}; + +template<int B::*> struct X +{}; + +template <class T> void fr () +{ + X<&B::i> x1; // { dg-error "protected" } + X<&D2::i> x2; // { dg-error "protected" } +} + +template void fr<char>(); |