kernel: use non-deprecated signatures for new/delete operators.
add posix_memalign(), needed for c++17.
This commit is contained in:
@@ -23,14 +23,21 @@ typedef struct {} mynothrow_t;
|
||||
extern const mynothrow_t mynothrow;
|
||||
|
||||
#ifndef __clang__
|
||||
extern void* operator new(size_t size) throw (std::bad_alloc);
|
||||
extern void* operator new[](size_t size) throw (std::bad_alloc);
|
||||
extern void* operator new(size_t size, const std::nothrow_t &) throw ();
|
||||
extern void* operator new[](size_t size, const std::nothrow_t &) throw ();
|
||||
extern void* operator new(size_t size, const mynothrow_t &) throw ();
|
||||
extern void* operator new[](size_t size, const mynothrow_t &) throw ();
|
||||
extern void operator delete(void *ptr) throw ();
|
||||
extern void operator delete[](void *ptr) throw ();
|
||||
#if __cplusplus >= 201402L
|
||||
#define _THROW(x)
|
||||
#define _NOEXCEPT noexcept
|
||||
#else
|
||||
#define _THROW(x) throw (x)
|
||||
#define _NOEXCEPT throw ()
|
||||
#endif
|
||||
extern void* operator new(size_t size) _THROW(std::bad_alloc);
|
||||
extern void* operator new[](size_t size) _THROW(std::bad_alloc);
|
||||
extern void* operator new(size_t size, const std::nothrow_t &) _NOEXCEPT;
|
||||
extern void* operator new[](size_t size, const std::nothrow_t &) _NOEXCEPT;
|
||||
extern void* operator new(size_t size, const mynothrow_t &) _NOEXCEPT;
|
||||
extern void* operator new[](size_t size, const mynothrow_t &) _NOEXCEPT;
|
||||
extern void operator delete(void *ptr) _NOEXCEPT;
|
||||
extern void operator delete[](void *ptr) _NOEXCEPT;
|
||||
#endif
|
||||
|
||||
#if __cplusplus >= 201402L
|
||||
|
||||
Reference in New Issue
Block a user