diff --git a/headers/private/kernel/util/kernel_cpp.h b/headers/private/kernel/util/kernel_cpp.h index 604fad9585..7152f61739 100644 --- a/headers/private/kernel/util/kernel_cpp.h +++ b/headers/private/kernel/util/kernel_cpp.h @@ -1,6 +1,6 @@ /* - * Copyright 2003-2004, Axel Dörfler, axeld@pinc-software.de. - * Copyright 2004-2018, Haiku, Inc. All rights reserved. + * Copyright 2003-2022, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2004-2022, Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. */ #ifndef _KERNEL_UTIL_KERNEL_CPP_H @@ -36,6 +36,7 @@ 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; +extern void operator delete(void *ptr, const std::nothrow_t &) _NOEXCEPT; #if __cplusplus >= 201402L extern void operator delete(void* ptr, std::size_t) _NOEXCEPT; diff --git a/src/system/kernel/util/kernel_cpp.cpp b/src/system/kernel/util/kernel_cpp.cpp index f8d87e95e6..cc527e3f3a 100644 --- a/src/system/kernel/util/kernel_cpp.cpp +++ b/src/system/kernel/util/kernel_cpp.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007, Haiku Inc. All rights reserved. + * Copyright 2003-2022, Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -7,6 +7,7 @@ * Ingo Weinhold, bonefish@users.sf.net. */ + //! C++ in the kernel @@ -142,6 +143,13 @@ operator delete[](void *ptr) _NOEXCEPT } +void +operator delete(void *ptr, std::nothrow_t const &) _NOEXCEPT +{ + free(ptr); +} + + #if __cplusplus >= 201402L void