xref: /llvm-project/libcxx/src/new_helpers.cpp (revision ba87515fea90b5d55836a8e3be63a7e683ce299d)
13956a34eSLouis Dionne //===----------------------------------------------------------------------===//
23956a34eSLouis Dionne //
33956a34eSLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
43956a34eSLouis Dionne // See https://llvm.org/LICENSE.txt for license information.
53956a34eSLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
63956a34eSLouis Dionne //
73956a34eSLouis Dionne //===----------------------------------------------------------------------===//
83956a34eSLouis Dionne 
92583946eSLouis Dionne #include <__verbose_abort>
103956a34eSLouis Dionne #include <new>
113956a34eSLouis Dionne 
123956a34eSLouis Dionne namespace std { // purposefully not versioned
133956a34eSLouis Dionne 
143956a34eSLouis Dionne #ifndef __GLIBCXX__
153956a34eSLouis Dionne const nothrow_t nothrow{};
163956a34eSLouis Dionne #endif
173956a34eSLouis Dionne 
183956a34eSLouis Dionne #ifndef LIBSTDCXX
193956a34eSLouis Dionne 
203956a34eSLouis Dionne void __throw_bad_alloc() {
21*ba87515fSNikolas Klauser #  if _LIBCPP_HAS_EXCEPTIONS
223956a34eSLouis Dionne   throw bad_alloc();
233956a34eSLouis Dionne #  else
242583946eSLouis Dionne   _LIBCPP_VERBOSE_ABORT("bad_alloc was thrown in -fno-exceptions mode");
253956a34eSLouis Dionne #  endif
263956a34eSLouis Dionne }
273956a34eSLouis Dionne 
283956a34eSLouis Dionne #endif // !LIBSTDCXX
293956a34eSLouis Dionne 
303956a34eSLouis Dionne } // namespace std
31