1*c87b03e5Sespie // Build don't link:
2*c87b03e5Sespie // Special g++ Options: -Woverloaded-virtual
3*c87b03e5Sespie 
4*c87b03e5Sespie struct B4 {
5*c87b03e5Sespie   virtual void bothfardiff(float);	// WARNING - was hidden
6*c87b03e5Sespie };
7*c87b03e5Sespie 
8*c87b03e5Sespie struct B3 : public B4 {
9*c87b03e5Sespie };
10*c87b03e5Sespie 
11*c87b03e5Sespie struct B2 {
12*c87b03e5Sespie };
13*c87b03e5Sespie 
14*c87b03e5Sespie struct B {
15*c87b03e5Sespie   virtual void baseonly(int);
16*c87b03e5Sespie 
17*c87b03e5Sespie   virtual void bothsame(int);
18*c87b03e5Sespie 
19*c87b03e5Sespie   virtual void bothdiff(float);		// WARNING - was hidden
20*c87b03e5Sespie 
21*c87b03e5Sespie   virtual void both2same(int);
22*c87b03e5Sespie   virtual void both2same(float);
23*c87b03e5Sespie 
24*c87b03e5Sespie   virtual void both12diff(int);
25*c87b03e5Sespie   virtual void both12diff(float);	// WARNING - was hidden
26*c87b03e5Sespie };
27*c87b03e5Sespie 
28*c87b03e5Sespie struct D : public B, public B2, public B3 {
29*c87b03e5Sespie   virtual void derivedonly(int);
30*c87b03e5Sespie 
31*c87b03e5Sespie   virtual void bothsame(int);
32*c87b03e5Sespie 
33*c87b03e5Sespie   virtual void bothdiff(int);		// WARNING -
34*c87b03e5Sespie 
35*c87b03e5Sespie   virtual void both2same(int);
36*c87b03e5Sespie   virtual void both2same(float);
37*c87b03e5Sespie 
38*c87b03e5Sespie   virtual void both12diff(int);		// WARNING -
39*c87b03e5Sespie 
40*c87b03e5Sespie   virtual void bothfardiff(int);	// WARNING -
41*c87b03e5Sespie };
42*c87b03e5Sespie 
43