1*9474e094SLouis Dionne //===----------------------------------------------------------------------===// 2*9474e094SLouis Dionne // 3*9474e094SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*9474e094SLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 5*9474e094SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*9474e094SLouis Dionne // 7*9474e094SLouis Dionne //===----------------------------------------------------------------------===// 8*9474e094SLouis Dionne 9*9474e094SLouis Dionne #ifndef _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H 10*9474e094SLouis Dionne #define _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H 11*9474e094SLouis Dionne 12*9474e094SLouis Dionne #include <__config> 13*9474e094SLouis Dionne #include <__cstddef/size_t.h> 14*9474e094SLouis Dionne 15*9474e094SLouis Dionne #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 16*9474e094SLouis Dionne # pragma GCC system_header 17*9474e094SLouis Dionne #endif 18*9474e094SLouis Dionne 19*9474e094SLouis Dionne #if defined(_LIBCPP_ABI_VCRUNTIME) 20*9474e094SLouis Dionne # include <new.h> 21*9474e094SLouis Dionne #else 22*9474e094SLouis Dionne [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void* 23*9474e094SLouis Dionne operator new(std::size_t, void* __p) _NOEXCEPT { 24*9474e094SLouis Dionne return __p; 25*9474e094SLouis Dionne } 26*9474e094SLouis Dionne [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void* 27*9474e094SLouis Dionne operator new[](std::size_t, void* __p) _NOEXCEPT { 28*9474e094SLouis Dionne return __p; 29*9474e094SLouis Dionne } 30*9474e094SLouis Dionne inline _LIBCPP_HIDE_FROM_ABI void operator delete(void*, void*) _NOEXCEPT {} 31*9474e094SLouis Dionne inline _LIBCPP_HIDE_FROM_ABI void operator delete[](void*, void*) _NOEXCEPT {} 32*9474e094SLouis Dionne #endif 33*9474e094SLouis Dionne 34*9474e094SLouis Dionne #endif // _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H 35