// PR c++/12751 // tree-ssa eh lowering bug ran a destructor twice for one object // { dg-do run } static int check; struct Y { Y(); ~Y(); }; void foo() { Y y1; Y y2; switch(0) { case 1: { Y y3; return; } } } Y::Y() { ++check; } Y::~Y() { --check; } int main() { foo (); return check; }