blob: a55686547f2222d97b7509a0e59e0434754972f8 [file] [log] [blame]
class A1 {
public:
int x;
int y;
};
class A2 {
public:
int x;
int y;
};
class A3 {
public:
int x;
int y;
};
class X : public A1, public A2 {
public:
int z;
};
class L : public A1 {
public:
int z;
};
class LV : public virtual A1 {
public:
int z;
};
class M : public A2 {
public:
int w;
};
class N : public L, public M {
public:
int r;
};
class K : public A1 {
public:
int i;
};
class KV : public virtual A1 {
public:
int i;
};
class J : public K, public L {
public:
int j;
};
class JV : public KV, public LV {
public:
int jv;
};
class JVA1 : public KV, public LV, public A1 {
public:
int jva1;
};
class JVA2 : public KV, public LV, public A2 {
public:
int jva2;
};
class JVA1V : public KV, public LV, public virtual A1 {
public:
int jva1v;
};
int main()
{
A1 a1;
A2 a2;
A3 a3;
X x;
L l;
M m;
N n;
K k;
J j;
JV jv;
JVA1 jva1;
JVA2 jva2;
JVA1V jva1v;
int i;
i += k.i + m.w + a1.x + a2.x + a3.x + x.z + l.z + n.r + j.j;
/* Initialize all the fields. Keep the order the same as in the
.exp file. */
a1.x = 1;
a1.y = 2;
a2.x = 1;
a2.y = 2;
a3.x = 1;
a3.y = 2;
x.A1::x = 1;
x.A1::y = 2;
x.A2::x = 3;
x.A2::y = 4;
x.z = 5;
l.x = 1;
l.y = 2;
l.z = 3;
m.x = 1;
m.y = 2;
m.w = 3;
n.A1::x = 1;
n.A1::y = 2;
n.A2::x = 3;
n.A2::y = 4;
n.w = 5;
n.r = 6;
n.z = 7;
k.x = 1;
k.y = 2;
k.i = 3;
j.K::x = 1;
j.K::y = 2;
j.L::x = 3;
j.L::y = 4;
j.i = 5;
j.z = 6;
j.j = 7;
jv.x = 1;
jv.y = 2;
jv.i = 3;
jv.z = 4;
jv.jv = 5;
jva1.KV::x = 1;
jva1.KV::y = 2;
jva1.LV::x = 3;
jva1.LV::y = 4;
jva1.z = 5;
jva1.i = 6;
jva1.jva1 = 7;
jva2.KV::x = 1;
jva2.KV::y = 2;
jva2.LV::x = 3;
jva2.LV::y = 4;
jva2.A2::x = 5;
jva2.A2::y = 6;
jva2.z = 7;
jva2.i = 8;
jva2.jva2 = 9;
jva1v.x = 1;
jva1v.y = 2;
jva1v.z = 3;
jva1v.i = 4;
jva1v.jva1v = 5;
return 0; /* set breakpoint here */
}