// { dg-do assemble }
|
// { dg-do assemble }
|
// { dg-options "-Woverloaded-virtual" }
|
// { dg-options "-Woverloaded-virtual" }
|
|
|
struct B4 {
|
struct B4 {
|
virtual void bothfardiff(float); // { dg-warning "" } was hidden
|
virtual void bothfardiff(float); // { dg-warning "" } was hidden
|
};
|
};
|
|
|
struct B3 : public B4 {
|
struct B3 : public B4 {
|
};
|
};
|
|
|
struct B2 {
|
struct B2 {
|
};
|
};
|
|
|
struct B {
|
struct B {
|
virtual void baseonly(int);
|
virtual void baseonly(int);
|
|
|
virtual void bothsame(int);
|
virtual void bothsame(int);
|
|
|
virtual void bothdiff(float); // { dg-warning "" } was hidden
|
virtual void bothdiff(float); // { dg-warning "" } was hidden
|
|
|
virtual void both2same(int);
|
virtual void both2same(int);
|
virtual void both2same(float);
|
virtual void both2same(float);
|
|
|
virtual void both12diff(int);
|
virtual void both12diff(int);
|
virtual void both12diff(float); // { dg-warning "" } was hidden
|
virtual void both12diff(float); // { dg-warning "" } was hidden
|
};
|
};
|
|
|
struct D : public B, public B2, public B3 {
|
struct D : public B, public B2, public B3 {
|
virtual void derivedonly(int);
|
virtual void derivedonly(int);
|
|
|
virtual void bothsame(int);
|
virtual void bothsame(int);
|
|
|
virtual void bothdiff(int); // { dg-warning "" }
|
virtual void bothdiff(int); // { dg-warning "" }
|
|
|
virtual void both2same(int);
|
virtual void both2same(int);
|
virtual void both2same(float);
|
virtual void both2same(float);
|
|
|
virtual void both12diff(int); // { dg-warning "" }
|
virtual void both12diff(int); // { dg-warning "" }
|
|
|
virtual void bothfardiff(int); // { dg-warning "" }
|
virtual void bothfardiff(int); // { dg-warning "" }
|
};
|
};
|
|
|
|
|