| #include "new" |
| #include <stdlib.h> |
| |
| const std::nothrow_t std::nothrow = {}; |
| |
| void* operator new(std::size_t size) |
| { |
| void* p = malloc(size); |
| if (p == NULL) { |
| abort(); |
| } |
| return p; |
| } |
| |
| void* operator new[](std::size_t size) |
| { |
| void* p = malloc(size); |
| if (p == NULL) { |
| abort(); |
| } |
| return p; |
| } |
| |
| void operator delete(void* ptr) |
| { |
| free(ptr); |
| } |
| |
| void operator delete[](void* ptr) |
| { |
| free(ptr); |
| } |
| |
| void* operator new(std::size_t size, const std::nothrow_t&) |
| { |
| return malloc(size); |
| } |
| |
| void* operator new[](std::size_t size, const std::nothrow_t&) |
| { |
| return malloc(size); |
| } |
| |
| void operator delete(void* ptr, const std::nothrow_t&) |
| { |
| free(ptr); |
| } |
| |
| void operator delete[](void* ptr, const std::nothrow_t&) |
| { |
| free(ptr); |
| } |
| |
| |
| |
| |
| |