sanitizer_placement_new.h revision 877bfcfaf592e63916333fd644bb8f30b673f35d
1//===-- sanitizer_placement_new.h -------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file is shared between AddressSanitizer and ThreadSanitizer 11// run-time libraries. 12// 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 18 19#include "sanitizer_internal_defs.h" 20 21namespace __sanitizer { 22#if (__WORDSIZE == 64) || defined(__APPLE__) 23typedef __sanitizer::uptr operator_new_ptr_type; 24#else 25typedef __sanitizer::u32 operator_new_ptr_type; 26#endif 27} // namespace __sanitizer 28 29inline void *operator new(operator_new_ptr_type sz, void *p) { 30 return p; 31} 32 33#endif // SANITIZER_PLACEMENT_NEW_H 34