// This is a poor test case, it is meant to ensure that function local
// statics are destroyed at the right time.  See PR 2736 for details.
// prms-id: 2736

int count;

struct A {
  int which;
  A(int i) :which(i) {
    // printf("ctor %x\n", this);
  }
  ~A() {
    // printf("dtor %x\n", this);
    if (++count != which)
      abort ();
    }
};

void
foo() {
  static A a(1);
}

A a(2);

int main() {
  foo();
}
