diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/conversion/access1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/conversion/access1.C | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/conversion/access1.C b/gcc/testsuite/g++.dg/conversion/access1.C new file mode 100644 index 000000000..f187e63a9 --- /dev/null +++ b/gcc/testsuite/g++.dg/conversion/access1.C @@ -0,0 +1,25 @@ +// PR c++/38579 + +struct P +{ +protected: + P() {} + P(const P&) {} +}; + +struct B : protected P +{ + B() {} +}; + +struct C : public P +{ + // C can access P's copy ctor, but can't convert b to const P&. + C(const B& b) : P(b) {} // { dg-error "inaccessible base" } +}; + +void foo() +{ + B b; + C c(b); +} |