summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.law/access4.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/access4.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/access4.C27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/access4.C b/gcc/testsuite/g++.old-deja/g++.law/access4.C
new file mode 100644
index 000000000..174c441d3
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.law/access4.C
@@ -0,0 +1,27 @@
+// { dg-do assemble }
+// GROUPS passed access
+// (Message bugs/access:3)
+// From: jamshid@ses.com (Jamshid Afshar)
+// Date: Wed, 2 Mar 94 18:24:22 CST
+// Subject: g++ 2.5.5 doesn't warn about inaccessible virtual base ctor
+// Message-ID: <9403030024.AA04534@ses.com>
+
+class ForceLeafSterile { // { dg-error "" }
+ friend class Sterile;
+ ForceLeafSterile() {} // { dg-error "" }
+};
+
+class Sterile : private virtual ForceLeafSterile {
+public:
+ Sterile() {}
+ Sterile(const char* /*blah*/) {}
+};
+
+class Illegitimate : public Sterile {
+public:
+ Illegitimate() {} // { dg-error "" } can't access virtual base deflt ctor
+ Illegitimate(const char* /*blah*/)
+ : ForceLeafSterile() {} // { dg-error "" } can't access default ctor
+ Illegitimate(const Illegitimate&)
+ {} // { dg-error "" } can't access default ctor
+};