diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/dtor3.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/dtor3.C | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C new file mode 100644 index 00000000000..0c5e68abb47 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C @@ -0,0 +1,18 @@ +// PRMS Id: 5341 +// Bug: g++ complains about the explicit destructor notation. +// Build don't link: + +#include <stddef.h> + +void *operator new(size_t Size, void* pThing) { return pThing; }; + +template <class T> class Stack { +public: + Stack() { new (Data) T(); } + ~Stack() { ((T*)Data)->~T(); } +private: + char Data[sizeof(T)]; +}; + +Stack<int> a; +Stack<Stack<int> > c; |