xref: /netbsd-src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_placement_new.h (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
1 //===-- sanitizer_placement_new.h -------------------------------*- C++ -*-===//
2 //
3 // This file is distributed under the University of Illinois Open Source
4 // License. See LICENSE.TXT for details.
5 //
6 //===----------------------------------------------------------------------===//
7 //
8 // This file is shared between AddressSanitizer and ThreadSanitizer
9 // run-time libraries.
10 //
11 // The file provides 'placement new'.
12 // Do not include it into header files, only into source files.
13 //===----------------------------------------------------------------------===//
14 #ifndef SANITIZER_PLACEMENT_NEW_H
15 #define SANITIZER_PLACEMENT_NEW_H
16 
17 #include "sanitizer_internal_defs.h"
18 
19 namespace __sanitizer {
20 #if (SANITIZER_WORDSIZE == 64) || defined(__APPLE__)
21 typedef uptr operator_new_ptr_type;
22 #else
23 typedef u32 operator_new_ptr_type;
24 #endif
25 }  // namespace __sanitizer
26 
27 inline void *operator new(__sanitizer::operator_new_ptr_type sz, void *p) {
28   return p;
29 }
30 
31 #endif  // SANITIZER_PLACEMENT_NEW_H
32