1 // { dg-do run } 2 // Origin: Mark Mitchell <mark (at) codesourcery.com> 3 4 int i; 5 int j; 6 7 struct B 8 { 9 B() { i = 1; } 10 ~B() { j = 7; } 11 }; 12 13 struct D : virtual public B { 14 D () { throw 3; } 15 }; 16 17 int main () 18 { 19 try { 20 D d; 21 } catch (int) { 22 if (i != 1 || j != 7) 23 return 1; 24 } 25 } 26