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