// 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; | |
} |