38 lines
422 B
C
38 lines
422 B
C
// { dg-do assemble }
|
|
class base {
|
|
protected:
|
|
virtual void f();
|
|
};
|
|
|
|
class d1 : public virtual base {
|
|
protected:
|
|
void f();
|
|
};
|
|
|
|
void d1::f()
|
|
{
|
|
base::f();
|
|
}
|
|
|
|
class dd1 : public virtual d1 {
|
|
protected:
|
|
void f();
|
|
};
|
|
|
|
void dd1::f()
|
|
{
|
|
d1::f();
|
|
base::f();
|
|
}
|
|
|
|
class d1_and_base : public virtual d1, public virtual base {
|
|
protected:
|
|
void f();
|
|
};
|
|
|
|
void d1_and_base::f()
|
|
{
|
|
d1::f();
|
|
base::f();
|
|
}
|