diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_placement_new.h b/compiler-rt/lib/sanitizer_common/sanitizer_placement_new.h index 292e167863b1a786cc3c448dc5b3ca0a69d88a9d..4dd71aeaf4bf37cf59f8a48e813e0a430b4fe728 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_placement_new.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_placement_new.h @@ -18,14 +18,16 @@ #include "sanitizer_internal_defs.h" -#if __WORDSIZE == 64 -inline void *operator new(__sanitizer::uptr sz, void *p) { - return p; -} +namespace __sanitizer { +#if (__WORDSIZE == 64) || defined(__APPLE__) +typedef __sanitizer::uptr operator_new_ptr_type; #else -inline void *operator new(__sanitizer::u32 sz, void *p) { +typedef __sanitizer::u32 operator_new_ptr_type; +#endif +} // namespace __sanitizer + +inline void *operator new(operator_new_ptr_type sz, void *p) { return p; } -#endif #endif // SANITIZER_PLACEMENT_NEW_H