diff options
author | Larisse Voufo <lvoufo@google.com> | 2015-02-15 05:18:55 +0000 |
---|---|---|
committer | Larisse Voufo <lvoufo@google.com> | 2015-02-15 05:18:55 +0000 |
commit | d36bd7005987fe6677e2f54341ada8c45c752d8f (patch) | |
tree | 15c37653840bef75ef9b6c4a4c8aaae34f21c182 /libcxx/src | |
parent | f02ad93270b31d07df7f4daa6c2e64c8e5437186 (diff) | |
download | bcm5719-llvm-d36bd7005987fe6677e2f54341ada8c45c752d8f.tar.gz bcm5719-llvm-d36bd7005987fe6677e2f54341ada8c45c752d8f.zip |
Implement C++14's sized deallocation functions, since there are no longer implicitly defined by clang, as of r229241.
llvm-svn: 229281
Diffstat (limited to 'libcxx/src')
-rw-r--r-- | libcxx/src/new.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/libcxx/src/new.cpp b/libcxx/src/new.cpp index a88d4cc7c24..a9b3733df08 100644 --- a/libcxx/src/new.cpp +++ b/libcxx/src/new.cpp @@ -126,6 +126,13 @@ operator delete(void* ptr) _NOEXCEPT _LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS void +operator delete(void* ptr, size_t) _NOEXCEPT +{ + ::operator delete(ptr); +} + +_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS +void operator delete(void* ptr, const std::nothrow_t&) _NOEXCEPT { ::operator delete(ptr); @@ -133,9 +140,23 @@ operator delete(void* ptr, const std::nothrow_t&) _NOEXCEPT _LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS void +operator delete(void* ptr, size_t, const std::nothrow_t&) _NOEXCEPT +{ + ::operator delete(ptr); +} + +_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS +void operator delete[] (void* ptr) _NOEXCEPT { - ::operator delete (ptr); + ::operator delete(ptr); +} + +_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS +void +operator delete[] (void* ptr, size_t) _NOEXCEPT +{ + ::operator delete[](ptr); } _LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS @@ -145,6 +166,13 @@ operator delete[] (void* ptr, const std::nothrow_t&) _NOEXCEPT ::operator delete[](ptr); } +_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS +void +operator delete[] (void* ptr, size_t, const std::nothrow_t&) _NOEXCEPT +{ + ::operator delete[](ptr); +} + #endif // !__GLIBCXX__ namespace std |