1 // { dg-do assemble  }
2 // The standard sez that a use of a name gets the most access it can through
3 // the various paths that can reach it.  Here, the access decl in B gives
4 // us access.
5 
6 struct A
7 {
8   void f ();
9 };
10 
11 struct B: private virtual A
12 {
13   A::f; // { dg-warning "deprecated" }
14 };
15 
16 struct C: private virtual A, public B
17 {
18 };
19 
20 int
main()21 main ()
22 {
23   C c;
24 
25   c.f ();
26 }
27