1 // { dg-do assemble } 2 // { dg-options "-Woverloaded-virtual" } 3 4 struct B4 { 5 virtual void bothfardiff(float); // { dg-warning "" } was hidden 6 }; 7 8 struct B3 : public B4 { 9 }; 10 11 struct B2 { 12 }; 13 14 struct B { 15 virtual void baseonly(int); 16 17 virtual void bothsame(int); 18 19 virtual void bothdiff(float); // { dg-warning "" } was hidden 20 21 virtual void both2same(int); 22 virtual void both2same(float); 23 24 virtual void both12diff(int); 25 virtual void both12diff(float); // { dg-warning "" } was hidden 26 }; 27 28 struct D : public B, public B2, public B3 { 29 virtual void derivedonly(int); 30 31 virtual void bothsame(int); 32 33 virtual void bothdiff(int); // { dg-message "" } 34 35 virtual void both2same(int); 36 virtual void both2same(float); 37 38 virtual void both12diff(int); // { dg-message "" } 39 40 virtual void bothfardiff(int); // { dg-message "" } 41 }; 42 43