// { dg-do run { xfail sparc64-*-elf arm-*-pe } } // { dg-options "-fexceptions" } #include <typeinfo> class A { int space; }; class B { public: int data; B(int i) : data(i) { } }; class D : public A, public B { public: D(int i) : B(i) { } } d(42); int main() { try { throw &d; } catch (B* b) { if (b->data == 42) return 0; } return 1; }