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