Index: base/allocator/allocator_shim_override_cpp_symbols.h |
diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h |
index 616716fb96f0dda2bc94d18ab18616c5e9acc3f3..8fc15c697a9d932066a64b9b0881fb19f21043ac 100644 |
--- a/base/allocator/allocator_shim_override_cpp_symbols.h |
+++ b/base/allocator/allocator_shim_override_cpp_symbols.h |
@@ -14,6 +14,46 @@ |
#include "base/allocator/allocator_shim_internals.h" |
+#if defined(OS_MACOSX) |
Primiano Tucci (use gerrit)
2017/01/28 05:10:02
just checking: do we actually need these?
IIRC the
erikchen
2017/01/31 02:21:22
We don't, the implementation of libc++.dylib forwa
|
+ |
+SHIM_ALWAYS_EXPORT void* operator new(size_t size) { |
+ return ShimCppNew(size); |
+} |
+ |
+SHIM_ALWAYS_EXPORT void operator delete(void* ptr)__THROW { |
+ return ShimCppDelete(ptr); |
+} |
+ |
+SHIM_ALWAYS_EXPORT void* operator new[](size_t size) { |
+ return ShimCppNew(size); |
+} |
+ |
+SHIM_ALWAYS_EXPORT void operator delete[](void* ptr) __THROW { |
+ return ShimCppDelete(ptr); |
+} |
+ |
+SHIM_ALWAYS_EXPORT void* operator new(size_t size, |
+ const std::nothrow_t&) __THROW { |
+ return ShimCppNew(size); |
+} |
+ |
+SHIM_ALWAYS_EXPORT void* operator new[](size_t size, |
+ const std::nothrow_t&) __THROW { |
+ return ShimCppNew(size); |
+} |
+ |
+SHIM_ALWAYS_EXPORT void operator delete(void* ptr, |
+ const std::nothrow_t&)__THROW { |
+ ShimCppDelete(ptr); |
+} |
+ |
+SHIM_ALWAYS_EXPORT void operator delete[](void* ptr, |
+ const std::nothrow_t&) __THROW { |
+ ShimCppDelete(ptr); |
+} |
+ |
+#else // !OS_MACOSX |
+ |
SHIM_ALWAYS_EXPORT void* operator new(size_t size) |
SHIM_ALIAS_SYMBOL(ShimCppNew); |
@@ -40,3 +80,5 @@ SHIM_ALWAYS_EXPORT void operator delete(void* p, const std::nothrow_t&) __THROW |
SHIM_ALWAYS_EXPORT void operator delete[](void* p, |
const std::nothrow_t&) __THROW |
SHIM_ALIAS_SYMBOL(ShimCppDelete); |
+ |
+#endif // OS_MACOSX |