| // { 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(); | |
| } |