1// { dg-do assemble } 2// PRMS Id: 5341 3// Bug: g++ complains about the explicit destructor notation. 4 5#include <stddef.h> 6 7void *operator new(size_t Size, void* pThing) { return pThing; } 8 9template <class T> class Stack { 10public: 11 Stack() { new (Data) T(); } 12 ~Stack() { ((T*)Data)->~T(); } 13private: 14 char Data[sizeof(T)]; 15}; 16 17Stack<int> a; 18Stack<Stack<int> > c; 19