summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include/new
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libc++/include/new')
-rw-r--r--contrib/libc++/include/new20
1 files changed, 20 insertions, 0 deletions
diff --git a/contrib/libc++/include/new b/contrib/libc++/include/new
index ea4a4a0..a710ed9 100644
--- a/contrib/libc++/include/new
+++ b/contrib/libc++/include/new
@@ -147,4 +147,24 @@ inline _LIBCPP_INLINE_VISIBILITY void* operator new[](std::size_t, void* __p) _N
inline _LIBCPP_INLINE_VISIBILITY void operator delete (void*, void*) _NOEXCEPT {}
inline _LIBCPP_INLINE_VISIBILITY void operator delete[](void*, void*) _NOEXCEPT {}
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+inline _LIBCPP_INLINE_VISIBILITY void *__allocate(size_t __size) {
+#ifdef _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
+ return ::operator new(__size);
+#else
+ return __builtin_operator_new(__size);
+#endif
+}
+
+inline _LIBCPP_INLINE_VISIBILITY void __deallocate(void *__ptr) {
+#ifdef _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
+ ::operator delete(__ptr);
+#else
+ __builtin_operator_delete(__ptr);
+#endif
+}
+
+_LIBCPP_END_NAMESPACE_STD
+
#endif // _LIBCPP_NEW
OpenPOWER on IntegriCloud