// { dg-do run { target c++11 } } struct B { B() {} ~B() noexcept(false) { throw 42; } }; int a; struct A { A() { ++a; }; A(B) { ++a; } ~A() { --a; } }; using Arr = A[3]; int main() { try { auto&& ref = Arr{B()}; } catch (...) { } return a; }