+++ /dev/null
-// PRMS Id: 5286
-// Bug: g++ forgets side-effects of object in call to nonexistent destructor.
-
-#include <new>
-
-int r;
-
-template <class T> struct A {
- T *p;
- int i;
- A() { i = 0; p = (T*) new char[sizeof (T)]; new (p + i++) T; }
- ~A() { p[--i].~T(); r = i; }
-};
-
-int main()
-{
- { A<int> a; }
-
- int* p = (int*) new char[sizeof (int)];
- new (p + r++) int;
- p[--r].~int();
-
- return r;
-}