1 //===-- sanitizer_placement_new.h -------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file is shared between AddressSanitizer and ThreadSanitizer
11 // run-time libraries.
13 // The file provides 'placement new'.
14 // Do not include it into header files, only into source files.
15 //===----------------------------------------------------------------------===//
16 #ifndef SANITIZER_PLACEMENT_NEW_H
17 #define SANITIZER_PLACEMENT_NEW_H
19 #include "sanitizer_internal_defs.h"
21 namespace __sanitizer
{
22 #if (SANITIZER_WORDSIZE == 64) || defined(__APPLE__)
23 typedef uptr operator_new_ptr_type
;
25 typedef u32 operator_new_ptr_type
;
27 } // namespace __sanitizer
29 inline void *operator new(__sanitizer::operator_new_ptr_type sz
, void *p
) {
33 #endif // SANITIZER_PLACEMENT_NEW_H