mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-03 22:19:32 +03:00
fix new/delete overrides
apparently, even if MI_USE_CXX is OFF, mimalloc still provides mangled definitions of new/delete operators. It causes inability to statically link mimaloc in our scenario, since we want to have our own overrides of new/delete functions.
This commit is contained in:
parent
54940a6a65
commit
fd5ab9f1f3
1 changed files with 2 additions and 2 deletions
|
@ -189,9 +189,8 @@ typedef void* mi_nothrow_t;
|
||||||
void* operator new[]( std::size_t n, std::align_val_t al) noexcept(false) { return mi_new_aligned(n, static_cast<size_t>(al)); }
|
void* operator new[]( std::size_t n, std::align_val_t al) noexcept(false) { return mi_new_aligned(n, static_cast<size_t>(al)); }
|
||||||
void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { return mi_new_aligned_nothrow(n, static_cast<size_t>(al)); }
|
void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { return mi_new_aligned_nothrow(n, static_cast<size_t>(al)); }
|
||||||
void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { return mi_new_aligned_nothrow(n, static_cast<size_t>(al)); }
|
void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { return mi_new_aligned_nothrow(n, static_cast<size_t>(al)); }
|
||||||
#endif
|
|
||||||
|
|
||||||
#elif (defined(__GNUC__) || defined(__clang__))
|
#elif (defined(__GNUC__) || defined(__clang__))
|
||||||
// ------------------------------------------------------
|
// ------------------------------------------------------
|
||||||
// Override by defining the mangled C++ names of the operators (as
|
// Override by defining the mangled C++ names of the operators (as
|
||||||
// used by GCC and CLang).
|
// used by GCC and CLang).
|
||||||
|
@ -234,6 +233,7 @@ typedef void* mi_nothrow_t;
|
||||||
#else
|
#else
|
||||||
#error "define overloads for new/delete for this platform (just for performance, can be skipped)"
|
#error "define overloads for new/delete for this platform (just for performance, can be skipped)"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#endif // __cplusplus
|
#endif // __cplusplus
|
||||||
|
|
||||||
// ------------------------------------------------------
|
// ------------------------------------------------------
|
||||||
|
|
Loading…
Add table
Reference in a new issue