1 // { dg-do assemble } 2 class D2; 3 4 class B { 5 private: 6 int a; // { dg-message "" } B::a declared private 7 protected: 8 int b; 9 10 friend class D2; 11 }; 12 13 class D : public B { // { dg-error "" } within this context 14 public: 15 using B::a; 16 using B::b; 17 }; 18 19 class D2 : public B { 20 public: 21 using B::a; 22 using B::b; // { dg-message "" } conflicting declaration 23 24 private: 25 using B::b; // { dg-error "" } conflicts 26 }; 27 28