Use __builtin_operator_new/__builtin_operator_delete when available. This
allows allocations and deallocations to be optimized out.
llvm-svn: 210211
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: ff0aff3cafd89359ddf9ddab466646309cec0855
diff --git a/include/experimental/dynarray b/include/experimental/dynarray
index 7c5c9b3..d2a4298 100644
--- a/include/experimental/dynarray
+++ b/include/experimental/dynarray
@@ -147,12 +147,12 @@
assert(!"dynarray::allocation");
#endif
}
- return static_cast<value_type *> (::operator new (sizeof(value_type) * count));
+ return static_cast<value_type *> (_VSTD::__allocate (sizeof(value_type) * count));
}
static inline _LIBCPP_INLINE_VISIBILITY void __deallocate ( value_type* __ptr ) noexcept
{
- ::operator delete (static_cast<void *> (__ptr));
+ _VSTD::__deallocate (static_cast<void *> (__ptr));
}
public: