1// PR c++/9993 2// Bug: We were failing to destroy b. 3 4// { dg-do run } 5 6int c, d; 7 8struct Object { 9 Object() { ++c; } 10 Object(const Object&) { ++c; } 11 ~Object() { ++d; } 12}; 13 14Object function() { 15 int i = 0; 16 do { 17 Object b; 18 if (i++ == 2) 19 return b; 20 } while (1); 21} 22 23int main() { 24 function(); 25 return c != d; 26} 27