aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C6
2 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access3.C b/gcc/testsuite/g++.old-deja/g++.other/access3.C
new file mode 100644
index 0000000..87c4c81
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/access3.C
@@ -0,0 +1,25 @@
+// The standard sez that a use of a name gets the most access it can through
+// the various paths that can reach it. Here, the access decl in B gives
+// us access.
+
+struct A
+{
+ void f (); // gets bogus error - ref below XFAIL *-*-*
+};
+
+struct B: private virtual A
+{
+ A::f;
+};
+
+struct C: private virtual A, public B
+{
+};
+
+int
+main ()
+{
+ C c;
+
+ c.f (); // gets bogus error - private XFAIL *-*-*
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C
new file mode 100644
index 0000000..4eeffde
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C
@@ -0,0 +1,6 @@
+// Build don't link:
+
+struct foo {
+ template<typename T> static void bar( foo* );
+ template<typename T> void bar() const; // gets bogus error - quals XFAIL *-*-*
+};