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()20int main() 21 { 22 B b; 23 return b.foo(); // { dg-error "this context" } 24 } 25