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