view gcc/testsuite/g++.old-deja/g++.jason/dtor3.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do assemble  }
// PRMS Id: 5341
// Bug: g++ complains about the explicit destructor notation.

#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;