diff options
author | Daan <daanl@outlook.com> | 2022-02-22 13:49:39 -0800 |
---|---|---|
committer | Daan <daanl@outlook.com> | 2022-02-22 13:49:39 -0800 |
commit | db87d6a99cf347adf235301bcb150e47e05469a9 (patch) | |
tree | 1aa4e7407d47ddab01a493fe8ddd9673c64f60f6 /include/mimalloc-new-delete.h | |
parent | 3c669a70f3b1e4539468304d5ea51d836752ea38 (diff) |
add delete nothrow variants for aligned deletion as well (see #551)
Diffstat (limited to 'include/mimalloc-new-delete.h')
-rw-r--r-- | include/mimalloc-new-delete.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/mimalloc-new-delete.h b/include/mimalloc-new-delete.h index 9714977..2749a0b 100644 --- a/include/mimalloc-new-delete.h +++ b/include/mimalloc-new-delete.h @@ -44,9 +44,11 @@ terms of the MIT license. A copy of the license can be found in the file void operator delete[](void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast<size_t>(al)); } void operator delete (void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast<size_t>(al)); }; void operator delete[](void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, 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) noexcept(false) { return mi_new_aligned(n, static_cast<size_t>(al)); } + void operator delete (void* p, std::align_val_t al, const std::nothrow_t& tag) noexcept { mi_free_aligned(p, static_cast<size_t>(al)); } + void operator delete[](void* p, std::align_val_t al, const std::nothrow_t& tag) noexcept { mi_free_aligned(p, 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) 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)); } #endif |