aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2002-02-28 10:46:31 -0500
committerJason Merrill <jason@gcc.gnu.org>2002-02-28 10:46:31 -0500
commit28dc79bca60a48843819e35da335b832bf80d452 (patch)
tree6ca5bca2e81fd20577f8cde857a6c9985e552e32 /gcc
parent07f521fc064351fb67625b483461db5b0a452e25 (diff)
downloadgcc-28dc79bca60a48843819e35da335b832bf80d452.zip
gcc-28dc79bca60a48843819e35da335b832bf80d452.tar.gz
gcc-28dc79bca60a48843819e35da335b832bf80d452.tar.bz2
search.c (lookup_base_r): Don't clear is_non_public just because we found a friendly scope.
* search.c (lookup_base_r): Don't clear is_non_public just because we found a friendly scope. From-SVN: r50143
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.dg/inherit/access2.C14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/inherit/access2.C b/gcc/testsuite/g++.dg/inherit/access2.C
new file mode 100644
index 0000000..2477994
--- /dev/null
+++ b/gcc/testsuite/g++.dg/inherit/access2.C
@@ -0,0 +1,14 @@
+// Test that a base doesn't get special rights to convert to itself.
+
+struct A {
+ void f ();
+};
+
+struct B: private A { };
+
+B b;
+
+void A::f ()
+{
+ A* ap = &b; // { dg-error "base|inherit" "" }
+}