1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5// See https://llvm.org/LICENSE.txt for license information. 6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7// 8//===----------------------------------------------------------------------===// 9 10export namespace std { 11 // [alloc.errors], storage allocation errors 12 using std::bad_alloc; 13 using std::bad_array_new_length; 14 15 using std::destroying_delete; 16 using std::destroying_delete_t; 17 18 // global operator new control 19 using std::align_val_t; 20 21 using std::nothrow; 22 using std::nothrow_t; 23 24 using std::get_new_handler; 25 using std::new_handler; 26 using std::set_new_handler; 27 28 // [ptr.launder], pointer optimization barrier 29 using std::launder; 30#if _LIBCPP_STD_VER >= 17 31# if defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE) 32 // [hardware.interference], hardware interference size 33 using std::hardware_constructive_interference_size; 34 using std::hardware_destructive_interference_size; 35# endif 36#endif // _LIBCPP_STD_VER >= 17 37} // namespace std 38 39export { 40 using ::operator new; 41 using ::operator delete; 42 using ::operator new[]; 43 using ::operator delete[]; 44} // export 45