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