From e3043b9c1b9282e74518f8986eba94c820a8b32f Mon Sep 17 00:00:00 2001 From: daan Date: Fri, 14 Feb 2020 13:58:32 -0800 Subject: [PATCH] allow new-delete to be included after mimalloc-override --- include/mimalloc-new-delete.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/mimalloc-new-delete.h b/include/mimalloc-new-delete.h index d9e335fa..8a2099b4 100644 --- a/include/mimalloc-new-delete.h +++ b/include/mimalloc-new-delete.h @@ -18,9 +18,15 @@ terms of the MIT license. A copy of the license can be found in the file // See // ----------------------------------------------------------------------------------- #if defined(__cplusplus) + #if defined(new) // in case this is included over `mimalloc-override.h` + #pragma push_macro("new") + #define MI_PUSHED_NEW + #undef new + #endif + #include #include - + void operator delete(void* p) noexcept { mi_free(p); }; void operator delete[](void* p) noexcept { mi_free(p); }; @@ -55,6 +61,10 @@ terms of the MIT license. A copy of the license can be found in the file void operator delete(void* p, mi_source_t ) noexcept { mi_free(p); }; void operator delete[](void* p, mi_source_t ) noexcept { mi_free(p); }; #endif + + #if defined(MI_PUSHED_NEW) + #pragma pop_macro("new") + #endif #endif #endif // MIMALLOC_NEW_DELETE_H