1 // { dg-do run  }
2 int i;
3 
4 struct S {
SS5   S (int) {
6     ++i;
7     if (i == 3)
8       throw 3;
9   }
10 
SS11   S () {}
12 
~SS13   ~S() {
14     --i;
15   }
16 };
17 
main()18 int main()
19 {
20   try {
21     S s[5] = { 0, 1, 2, 3, 4 };
22   } catch (...) {
23   }
24 
25   if (i != 1)
26     return 1;
27 }
28