// PR c++/9993 | |
// Bug: We were failing to destroy b. | |
// { dg-do run } | |
int c, d; | |
struct Object { | |
Object() { ++c; } | |
Object(const Object&) { ++c; } | |
~Object() { ++d; } | |
}; | |
Object function() { | |
int i = 0; | |
do { | |
Object b; | |
if (i++ == 2) | |
return b; | |
} while (1); | |
} | |
int main() { | |
function(); | |
return c != d; | |
} |