// { dg-do run } // Copyright (C) 2001 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 26 Dec 2001 // PR 411 #ifdef __GXX_EXPERIMENTAL_CXX0X__ #define NOEXCEPT_FALSE noexcept (false) #else #define NOEXCEPT_FALSE #endif bool was_f_in_Bar_destroyed=false; struct Foo { ~Foo() { was_f_in_Bar_destroyed=true; } }; struct Bar { ~Bar() NOEXCEPT_FALSE { throw 1; } Foo f; }; int main() { try { Bar f; } catch(int i) { if(was_f_in_Bar_destroyed) { return 0; } } return 1; }