doc: Document struct-layout-1.exp for ABI checks
[official-gcc.git] / gcc / testsuite / g++.dg / init / placement4.C
blob6e755f93d211dc5875dae40069950ebf2bfa66fa
1 // PR c++/34158
3 // Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
5 typedef __SIZE_TYPE__ size_t;
6 extern "C" void* malloc (size_t);
7 extern "C" void free (void *);
9 template <class T> class undef;
11 struct A {
12   A() { throw 1; }
15 template<typename T> class Pool { };
17 void *operator new(size_t size,Pool<int>& pool)
19   return malloc(size);
22 template<typename T>
23 void operator delete(void *p,Pool<T>& pool)
25   undef<T> t;                   // { dg-error "incomplete" }
26   free(p);
29 int main ()
31   Pool<int> pool;
32   new (pool) A();               // { dg-message "required" }
33   return 0;