1 // Test for calling placement delete.
2 
3 #include <new>
4 #include <stddef.h>
5 
6 int r = 1;
7 
8 struct A {
AA9   A() { throw 1; }
deleteA10   void operator delete (void *p, int, int) { r = 0; ::operator delete (p); }
11 };
12 
new(size_t size,int,int)13 void * operator new (size_t size, int, int) { return operator new (size); }
14 
main()15 int main ()
16 {
17   try {
18     A* ap = new (1, 5) A;
19   } catch (...) {  }
20 
21   return r;
22 }
23