1 // { dg-do run { xfail sparc64-*-elf arm-*-pe } }
2 // { dg-options "-fexceptions" }
10 // printf("copying VB from %d to %d\n", &o, this);
14 class D : public virtual VB {
17 D(int i1, int i2) : VB(i2) { j = i1; }
18 VB& vb() { return *(VB*)this; }
19 const VB& vb() const { return *(const VB*)this; }
22 class pD : private virtual VB {
25 pD(int i1, int i2) : VB(i2) { j = i1; }
26 VB& vb() { return *(VB*)this; }
27 const VB& vb() const { return *(const VB*)this; }
37 // A catch of a public virtual base.
39 // printf("Throwing D at %d (VB at %d)\n", &d, vb);
43 // printf("Catching VB at %d\n", &vb);
51 // A catch of a private virtual base.
53 // printf("Throwing D at %d (VB at %d)\n", &pd, pvb);
57 // printf("Catching VB at %d\n", &vb);
58 // This was a private base of the throw object, don't catch it.