c++: private inheritance access diagnostics fix [PR17314]
[gcc.git] / gcc / testsuite / g++.old-deja / g++.law / access4.C
1 // { dg-do assemble }
2 // GROUPS passed access
3 // (Message bugs/access:3)
4 // From: jamshid@ses.com (Jamshid Afshar)
5 // Date: Wed, 2 Mar 94 18:24:22 CST
6 // Subject: g++ 2.5.5 doesn't warn about inaccessible virtual base ctor
7 // Message-ID: <9403030024.AA04534@ses.com>
8
9 class ForceLeafSterile {
10 friend class Sterile;
11 ForceLeafSterile() {} // { dg-message "" }
12 };
13
14 class Sterile : private virtual ForceLeafSterile // { dg-message "" }
15 {
16 public:
17 Sterile() {}
18 Sterile(const char* /*blah*/) {}
19 };
20
21 class Illegitimate : public Sterile {
22 public:
23 Illegitimate() {} // { dg-error "" } can't access virtual base deflt ctor
24 Illegitimate(const char* /*blah*/)
25 : ForceLeafSterile() {} // { dg-error "" } can't access default ctor
26 Illegitimate(const Illegitimate&)
27 {} // { dg-error "" } can't access default ctor
28 };