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