1 // { dg-do compile }
2 
3 // Origin: David Baron <dbaron@fas.harvard.edu>
4 
5 // PR c++/3765: Changing access from public to private by member
6 // using declaration.
7 
8 class A
9 {
10   public:
foo()11     int foo() { return 1; }	// { dg-message "declared" }
12 };
13 
14 class B : public A
15 {
16   private:
17     using A::foo;
18 };
19 
main()20 int main()
21 {
22   B b;
23   return b.foo();		// { dg-error "this context" }
24 }
25