// PR c++/411
// Test that a fully-constructed base is destroyed before transferring
// control to the handler of a function-try-block.
// { dg-do run }
int ad;
int r;
struct A {
~A() { ++ad; }
};
struct B: public A {
~B();
};
B::~B ()
try
{
throw 1;
}
catch (...)
{
if (!ad)
r = 1;
return;
}
int main ()
{
{ B b; }
return r;
}