6 virtual int foo() { return 1; }
9 class Rep_1 : public Rep {
14 virtual int foo() { return 2; }
19 virtual int foo() { return 3; }
22 class Rep_2 : public Rep {
25 class DVBase : public VBaseMain, public Rep_2, public OtherVBase {
27 virtual int foo() { return 4; }
30 class Main : public Rep_1, virtual public DVBase {
32 virtual int foo() { return 5; }
39 if (((Rep*)(Rep_1*)&m)->foo() != 5)
41 if (((DVBase*)&m)->foo() != 5)
43 if (((VBaseMain*)(DVBase*)&m)->foo() != 5)
45 if (((Rep*)(Rep_2*)(DVBase*)&m)->foo() != 5)
47 if (((OtherVBase*)(DVBase*)&m)->foo() != 5)