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