27 lines
378 B
C
27 lines
378 B
C
// 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;
|
|
}
|