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_NEW_HANDLER_H 10*9474e094SLouis Dionne #define _LIBCPP___NEW_NEW_HANDLER_H 11*9474e094SLouis Dionne 12*9474e094SLouis Dionne #include <__config> 13*9474e094SLouis Dionne 14*9474e094SLouis Dionne #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 15*9474e094SLouis Dionne # pragma GCC system_header 16*9474e094SLouis Dionne #endif 17*9474e094SLouis Dionne 18*9474e094SLouis Dionne #if defined(_LIBCPP_ABI_VCRUNTIME) 19*9474e094SLouis Dionne # include <new.h> 20*9474e094SLouis Dionne #else 21*9474e094SLouis Dionne // purposefully not using versioning namespace 22*9474e094SLouis Dionne namespace std { 23*9474e094SLouis Dionne typedef void (*new_handler)(); 24*9474e094SLouis Dionne _LIBCPP_EXPORTED_FROM_ABI new_handler set_new_handler(new_handler) _NOEXCEPT; 25*9474e094SLouis Dionne _LIBCPP_EXPORTED_FROM_ABI new_handler get_new_handler() _NOEXCEPT; 26*9474e094SLouis Dionne } // namespace std 27*9474e094SLouis Dionne #endif // _LIBCPP_ABI_VCRUNTIME 28*9474e094SLouis Dionne 29*9474e094SLouis Dionne #endif // _LIBCPP___NEW_NEW_HANDLER_H 30