// { dg-do assemble } | |
#include<iostream> | |
#include<cstddef> | |
struct A { | |
A() { | |
std::cerr<<"A constructing\n"; | |
throw 1; | |
} | |
void *operator new(size_t sz) { | |
std::cerr<<"A allocated\n"; | |
return ::operator new(sz); | |
} | |
void operator delete (void *p) { | |
std::cerr<<"A deleted\n"; | |
::operator delete (p); | |
} | |
}; | |
int main() { | |
try { | |
new A(); | |
} catch (...) { | |
} | |
} | |