1 class B0S0
2 {
3   int m0;
4   char m1;
5 
6 public:
7   void
8   member0() const;
9 
10   static void
11   static_member0();
12 };
13 
14 void
member0() const15 B0S0::member0() const
16 {}
17 
18 void
static_member0()19 B0S0::static_member0()
20 {
21 }
22 
23 class B0S1
24 {
25   int m0;
26 
27 public:
B0S1()28   B0S1()
29   {}
30 };
31 
32 class S0 : public B0S0
33 {
34   int m0;
35   void member0() const;
36 };
37 
38 void
member0() const39 S0::member0() const
40 {}
41 
42 class S1 : public B0S1
43 {
44   int m0;
member0()45   void member0()
46   {}
47 };
48 
49 void
foo(S0 &,S1 *)50 foo(S0&, S1*)
51 {}
52