summaryrefslogtreecommitdiffstats
path: root/libcxx/include/new
diff options
context:
space:
mode:
authorLarisse Voufo <lvoufo@google.com>2015-02-15 05:18:55 +0000
committerLarisse Voufo <lvoufo@google.com>2015-02-15 05:18:55 +0000
commitd36bd7005987fe6677e2f54341ada8c45c752d8f (patch)
tree15c37653840bef75ef9b6c4a4c8aaae34f21c182 /libcxx/include/new
parentf02ad93270b31d07df7f4daa6c2e64c8e5437186 (diff)
downloadbcm5719-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/include/new')
-rw-r--r--libcxx/include/new10
1 files changed, 10 insertions, 0 deletions
diff --git a/libcxx/include/new b/libcxx/include/new
index eebe5af30ed..7268b4bd95d 100644
--- a/libcxx/include/new
+++ b/libcxx/include/new
@@ -50,12 +50,18 @@ new_handler get_new_handler() noexcept;
void* operator new(std::size_t size); // replaceable
void* operator new(std::size_t size, const std::nothrow_t&) noexcept; // replaceable
void operator delete(void* ptr) noexcept; // replaceable
+void operator delete(void* ptr, std::size_t size) noexcept; // replaceable, C++14
void operator delete(void* ptr, const std::nothrow_t&) noexcept; // replaceable
+void operator delete(void* ptr, std::size_t size,
+ const std::nothrow_t&) noexcept; // replaceable, C++14
void* operator new[](std::size_t size); // replaceable
void* operator new[](std::size_t size, const std::nothrow_t&) noexcept; // replaceable
void operator delete[](void* ptr) noexcept; // replaceable
+void operator delete[](void* ptr, std::size_t size) noexcept; // replaceable, C++14
void operator delete[](void* ptr, const std::nothrow_t&) noexcept; // replaceable
+void operator delete[](void* ptr, std::size_t size,
+ const std::nothrow_t&) noexcept; // replaceable, C++14
void* operator new (std::size_t size, void* ptr) noexcept;
void* operator new[](std::size_t size, void* ptr) noexcept;
@@ -133,7 +139,9 @@ _LIBCPP_NEW_DELETE_VIS void* operator new(std::size_t __sz)
;
_LIBCPP_NEW_DELETE_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
_LIBCPP_NEW_DELETE_VIS void operator delete(void* __p) _NOEXCEPT;
+_LIBCPP_NEW_DELETE_VIS void operator delete(void* __p, std::size_t __sz) _NOEXCEPT;
_LIBCPP_NEW_DELETE_VIS void operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
+_LIBCPP_NEW_DELETE_VIS void operator delete(void* __p, std::size_t __sz, const std::nothrow_t&) _NOEXCEPT;
_LIBCPP_NEW_DELETE_VIS void* operator new[](std::size_t __sz)
#if !__has_feature(cxx_noexcept)
@@ -142,7 +150,9 @@ _LIBCPP_NEW_DELETE_VIS void* operator new[](std::size_t __sz)
;
_LIBCPP_NEW_DELETE_VIS void* operator new[](std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
_LIBCPP_NEW_DELETE_VIS void operator delete[](void* __p) _NOEXCEPT;
+_LIBCPP_NEW_DELETE_VIS void operator delete[](void* __p, std::size_t __sz) _NOEXCEPT;
_LIBCPP_NEW_DELETE_VIS void operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
+_LIBCPP_NEW_DELETE_VIS void operator delete[](void* __p, std::size_t __sz, const std::nothrow_t&) _NOEXCEPT;
inline _LIBCPP_INLINE_VISIBILITY void* operator new (std::size_t, void* __p) _NOEXCEPT {return __p;}
inline _LIBCPP_INLINE_VISIBILITY void* operator new[](std::size_t, void* __p) _NOEXCEPT {return __p;}
OpenPOWER on IntegriCloud