3 // Bug: g++ forgets side-effects of object in call to nonexistent destructor.
9 template <class T> struct A {
12 A() { i = 0; p = (T*) new char[sizeof (T)]; new (p + i++) T; }
13 ~A() { p[--i].~T(); r = i; }
20 int* p = (int*) new char[sizeof (int)];