From 34148d68c7ac0bd2bb1b499b3bd8a267efbe83ad Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 3 Nov 2015 11:43:54 -0500 Subject: [PATCH] * libsupc++/new: Declare sized deletes. From-SVN: r229713 --- libstdc++-v3/ChangeLog | 4 ++++ libstdc++-v3/libsupc++/new | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4f36a2ae3bd..abd4482ca95 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2015-11-03 Jason Merrill + + * libsupc++/new: Declare sized deletes. + 2015-11-03 Ville Voutilainen Make the default constructors of tuple and pair conditionally explicit. diff --git a/libstdc++-v3/libsupc++/new b/libstdc++-v3/libsupc++/new index bd50b6c8465..0f6a05a9b71 100644 --- a/libstdc++-v3/libsupc++/new +++ b/libstdc++-v3/libsupc++/new @@ -116,6 +116,12 @@ void operator delete(void*) _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); void operator delete[](void*) _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); +#if __cpp_sized_deallocation +void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +#endif void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT @@ -124,6 +130,12 @@ void operator delete(void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); +#if __cpp_sized_deallocation +void operator delete(void*, std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +void operator delete[](void*, std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +#endif // Default placement versions of operator new. inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT -- 2.30.2