diff options
Diffstat (limited to 'lib/sanitizer_common/sanitizer_placement_new.h')
-rw-r--r-- | lib/sanitizer_common/sanitizer_placement_new.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_placement_new.h b/lib/sanitizer_common/sanitizer_placement_new.h new file mode 100644 index 0000000..f133a6f --- /dev/null +++ b/lib/sanitizer_common/sanitizer_placement_new.h @@ -0,0 +1,33 @@ +//===-- sanitizer_placement_new.h -------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file is shared between AddressSanitizer and ThreadSanitizer +// run-time libraries. +// +// The file provides 'placement new'. +// Do not include it into header files, only into source files. +//===----------------------------------------------------------------------===// +#ifndef SANITIZER_PLACEMENT_NEW_H +#define SANITIZER_PLACEMENT_NEW_H + +#include "sanitizer_internal_defs.h" + +namespace __sanitizer { +#if (__WORDSIZE == 64) || defined(__APPLE__) +typedef uptr operator_new_ptr_type; +#else +typedef u32 operator_new_ptr_type; +#endif +} // namespace __sanitizer + +inline void *operator new(__sanitizer::operator_new_ptr_type sz, void *p) { + return p; +} + +#endif // SANITIZER_PLACEMENT_NEW_H |