1 // { dg-do run } 2 int i; 3 4 struct S { 5 S (int) { 6 ++i; 7 if (i == 3) 8 throw 3; 9 } 10 11 S () {} 12 13 ~S() { 14 --i; 15 } 16 }; 17 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