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