#include <iostream>
#include <new>
struct M{};
void * operator new (std::size_t size, const M & ) noexcept
{
std::cout << "call operator new" << std::endl ;
return nullptr ;
}
int main() {
int * p = new (M()) int() ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bmV3PgoKc3RydWN0IE17fTsKCnZvaWQgKiBvcGVyYXRvciBuZXcgKHN0ZDo6c2l6ZV90IHNpemUsIGNvbnN0IE0gJiApIG5vZXhjZXB0CnsKCXN0ZDo6Y291dCA8PCAiY2FsbCBvcGVyYXRvciBuZXciIDw8IHN0ZDo6ZW5kbCA7CglyZXR1cm4gbnVsbHB0ciA7Cn0KCgppbnQgbWFpbigpIHsKCWludCAqIHAgPSBuZXcgKE0oKSkgaW50KCkgOwp9