Blame | Last modification | View Log | Download | RSS feed
//===--------- new - OPENMP wrapper for <new> ------------------------------===//// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.// See https://llvm.org/LICENSE.txt for license information.// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception////===-----------------------------------------------------------------------===#ifndef __CLANG_OPENMP_WRAPPERS_NEW#define __CLANG_OPENMP_WRAPPERS_NEW// We need the system <new> for the std::nothrow_t. The new/delete operators// which do not use nothrow_t are provided without the <new> header.#include_next <new>#if defined(__NVPTX__) && defined(_OPENMP)#include <cstdlib>#pragma push_macro("OPENMP_NOEXCEPT")#if __cplusplus >= 201103L#define OPENMP_NOEXCEPT noexcept#else#define OPENMP_NOEXCEPT#endifinline void *operator new(__SIZE_TYPE__ size,const std::nothrow_t &) OPENMP_NOEXCEPT {return ::operator new(size);}inline void *operator new[](__SIZE_TYPE__ size, const std::nothrow_t &) {return ::operator new(size);}inline void operator delete(void *ptr, const std::nothrow_t &)OPENMP_NOEXCEPT {::operator delete(ptr);}inline void operator delete[](void *ptr,const std::nothrow_t &) OPENMP_NOEXCEPT {::operator delete(ptr);}#pragma pop_macro("OPENMP_NOEXCEPT")#endif#endif // include guard