xref: /freebsd/contrib/llvm-project/libcxx/src/new_helpers.cpp (revision 96190b4fef3b4a0cc3ca0606b0c4e3e69a5e6717)
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include <__verbose_abort>
10 #include <new>
11 
12 namespace std { // purposefully not versioned
13 
14 #ifndef __GLIBCXX__
15 const nothrow_t nothrow{};
16 #endif
17 
18 #ifndef LIBSTDCXX
19 
20 void __throw_bad_alloc() {
21 #  ifndef _LIBCPP_HAS_NO_EXCEPTIONS
22   throw bad_alloc();
23 #  else
24   _LIBCPP_VERBOSE_ABORT("bad_alloc was thrown in -fno-exceptions mode");
25 #  endif
26 }
27 
28 #endif // !LIBSTDCXX
29 
30 } // namespace std
31