blob: 0253e8b68f76e5bf4b250441992d20473e2a5a9c [file] [log] [blame]
Niko Catania69b1a8a2009-04-10 10:54:03 -07001/* -*- c++ -*- */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08002#ifndef __NEW__
3#define __NEW__
4
Niko Catania69b1a8a2009-04-10 10:54:03 -07005#include <cstddef>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08006
David 'Digit' Turner0621a272010-06-25 16:53:37 -07007extern "C++" {
8
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08009namespace std {
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080010 struct nothrow_t {};
11 extern const nothrow_t nothrow;
12}
13
14void* operator new(std::size_t);
15void* operator new[](std::size_t);
16void operator delete(void*);
17void operator delete[](void*);
18void* operator new(std::size_t, const std::nothrow_t&);
19void* operator new[](std::size_t, const std::nothrow_t&);
20void operator delete(void*, const std::nothrow_t&);
21void operator delete[](void*, const std::nothrow_t&);
22
23inline void* operator new(std::size_t, void* p) { return p; }
24inline void* operator new[](std::size_t, void* p) { return p; }
25
26// these next two are not really required, since exceptions are off
27inline void operator delete(void*, void*) { }
28inline void operator delete[](void*, void*) { }
29
David 'Digit' Turner0621a272010-06-25 16:53:37 -070030} // extern C++
31
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080032#endif // __NEW__