diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-10-16 02:39:56 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-10-16 02:39:56 +0800 |
| commit | 8cace3f05003c6cb4d38c36890055f03151c2ad4 (patch) | |
| tree | aa739deaac0266f17c4e91b333957501cb1ea2e9 /third_party/libcxx/include/c++/v1/__exception | |
| parent | 3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (diff) | |
| download | lume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.gz lume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.xz | |
Remove old code
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'third_party/libcxx/include/c++/v1/__exception')
5 files changed, 0 insertions, 486 deletions
diff --git a/third_party/libcxx/include/c++/v1/__exception/exception.h b/third_party/libcxx/include/c++/v1/__exception/exception.h deleted file mode 100644 index ddc34b0..0000000 --- a/third_party/libcxx/include/c++/v1/__exception/exception.h +++ /dev/null @@ -1,96 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 _LIBCPP___EXCEPTION_EXCEPTION_H -#define _LIBCPP___EXCEPTION_EXCEPTION_H - -#include <__config> - -// <vcruntime_exception.h> defines its own std::exception and std::bad_exception types, -// which we use in order to be ABI-compatible with other STLs on Windows. -#if defined(_LIBCPP_ABI_VCRUNTIME) -# include <vcruntime_exception.h> -#endif - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD - -#if defined(_LIBCPP_ABI_VCRUNTIME) && (!defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS != 0) -// The std::exception class was already included above, but we're explicit about this condition here for clarity. - -#elif defined(_LIBCPP_ABI_VCRUNTIME) && _HAS_EXCEPTIONS == 0 -// However, <vcruntime_exception.h> does not define std::exception and std::bad_exception -// when _HAS_EXCEPTIONS == 0. -// -// Since libc++ still wants to provide the std::exception hierarchy even when _HAS_EXCEPTIONS == 0 -// (after all those are simply types like any other), we define an ABI-compatible version -// of the VCRuntime std::exception and std::bad_exception types in that mode. - -struct __std_exception_data { - char const* _What; - bool _DoFree; -}; - -class exception { // base of all library exceptions -public: - exception() _NOEXCEPT : __data_() {} - - explicit exception(char const* __message) _NOEXCEPT : __data_() { - __data_._What = __message; - __data_._DoFree = true; - } - - exception(exception const&) _NOEXCEPT : __data_() {} - - exception& operator=(exception const&) _NOEXCEPT { return *this; } - - virtual ~exception() _NOEXCEPT {} - - [[__nodiscard__]] virtual char const* what() const _NOEXCEPT { - return __data_._What ? __data_._What : "Unknown exception"; - } - -private: - __std_exception_data __data_; -}; - -class bad_exception : public exception { -public: - bad_exception() _NOEXCEPT : exception("bad exception") {} -}; - -#else // !defined(_LIBCPP_ABI_VCRUNTIME) -// On all other platforms, we define our own std::exception and std::bad_exception types -// regardless of whether exceptions are turned on as a language feature. - -class _LIBCPP_EXPORTED_FROM_ABI exception { -public: - _LIBCPP_HIDE_FROM_ABI exception() _NOEXCEPT {} - _LIBCPP_HIDE_FROM_ABI exception(const exception&) _NOEXCEPT = default; - _LIBCPP_HIDE_FROM_ABI exception& operator=(const exception&) _NOEXCEPT = default; - - virtual ~exception() _NOEXCEPT; - [[__nodiscard__]] virtual const char* what() const _NOEXCEPT; -}; - -class _LIBCPP_EXPORTED_FROM_ABI bad_exception : public exception { -public: - _LIBCPP_HIDE_FROM_ABI bad_exception() _NOEXCEPT {} - _LIBCPP_HIDE_FROM_ABI bad_exception(const bad_exception&) _NOEXCEPT = default; - _LIBCPP_HIDE_FROM_ABI bad_exception& operator=(const bad_exception&) _NOEXCEPT = default; - ~bad_exception() _NOEXCEPT override; - [[__nodiscard__]] const char* what() const _NOEXCEPT override; -}; -#endif // !_LIBCPP_ABI_VCRUNTIME - -_LIBCPP_END_UNVERSIONED_NAMESPACE_STD - -#endif // _LIBCPP___EXCEPTION_EXCEPTION_H diff --git a/third_party/libcxx/include/c++/v1/__exception/exception_ptr.h b/third_party/libcxx/include/c++/v1/__exception/exception_ptr.h deleted file mode 100644 index d3c137d..0000000 --- a/third_party/libcxx/include/c++/v1/__exception/exception_ptr.h +++ /dev/null @@ -1,226 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 _LIBCPP___EXCEPTION_EXCEPTION_PTR_H -#define _LIBCPP___EXCEPTION_EXCEPTION_PTR_H - -#include <__config> -#include <__cstddef/nullptr_t.h> -#include <__cstddef/size_t.h> -#include <__exception/operations.h> -#include <__memory/addressof.h> -#include <__memory/construct_at.h> -#include <__type_traits/decay.h> -#include <__type_traits/is_pointer.h> -#include <__utility/move.h> -#include <__utility/swap.h> -#include <__verbose_abort> -#include <typeinfo> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_PUSH_MACROS -#include <__undef_macros> - -#ifndef _LIBCPP_ABI_MICROSOFT - -# if _LIBCPP_HAS_EXCEPTIONS && _LIBCPP_HAS_RTTI && _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION - -namespace __cxxabiv1 { - -extern "C" { -_LIBCPP_OVERRIDABLE_FUNC_VIS void* __cxa_allocate_exception(std::size_t) throw(); -_LIBCPP_OVERRIDABLE_FUNC_VIS void __cxa_free_exception(void*) throw(); - -struct __cxa_exception; -_LIBCPP_OVERRIDABLE_FUNC_VIS __cxa_exception* __cxa_init_primary_exception( - void*, - std::type_info*, -# if defined(_WIN32) - void(__thiscall*)(void*)) throw(); -# elif defined(__wasm__) - // In Wasm, a destructor returns its argument - void* (*)(void*)) throw(); -# else - void (*)(void*)) throw(); -# endif -} - -} // namespace __cxxabiv1 - -# endif // _LIBCPP_HAS_EXCEPTIONS && _LIBCPP_HAS_RTTI && _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION - -#endif // !defined(_LIBCPP_ABI_MICROSOFT) - -_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD - -#ifndef _LIBCPP_ABI_MICROSOFT - -inline _LIBCPP_HIDE_FROM_ABI void swap(exception_ptr& __x, exception_ptr& __y) _NOEXCEPT; - -class _LIBCPP_EXPORTED_FROM_ABI exception_ptr { - void* __ptr_; - - static exception_ptr __from_native_exception_pointer(void*) _NOEXCEPT; - - template <class _Ep> - friend _LIBCPP_HIDE_FROM_ABI exception_ptr __make_exception_ptr_explicit(_Ep&) _NOEXCEPT; - -public: - // exception_ptr is basically a COW string so it is trivially relocatable. - using __trivially_relocatable _LIBCPP_NODEBUG = exception_ptr; - - _LIBCPP_HIDE_FROM_ABI exception_ptr() _NOEXCEPT : __ptr_() {} - _LIBCPP_HIDE_FROM_ABI exception_ptr(nullptr_t) _NOEXCEPT : __ptr_() {} - - exception_ptr(const exception_ptr&) _NOEXCEPT; - _LIBCPP_HIDE_FROM_ABI exception_ptr(exception_ptr&& __other) _NOEXCEPT : __ptr_(__other.__ptr_) { - __other.__ptr_ = nullptr; - } - exception_ptr& operator=(const exception_ptr&) _NOEXCEPT; - _LIBCPP_HIDE_FROM_ABI exception_ptr& operator=(exception_ptr&& __other) _NOEXCEPT { - exception_ptr __tmp(std::move(__other)); - std::swap(__tmp, *this); - return *this; - } - ~exception_ptr() _NOEXCEPT; - - _LIBCPP_HIDE_FROM_ABI explicit operator bool() const _NOEXCEPT { return __ptr_ != nullptr; } - - friend _LIBCPP_HIDE_FROM_ABI bool operator==(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT { - return __x.__ptr_ == __y.__ptr_; - } - - friend _LIBCPP_HIDE_FROM_ABI bool operator!=(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT { - return !(__x == __y); - } - - friend _LIBCPP_HIDE_FROM_ABI void swap(exception_ptr& __x, exception_ptr& __y) _NOEXCEPT; - - friend _LIBCPP_EXPORTED_FROM_ABI exception_ptr current_exception() _NOEXCEPT; - friend _LIBCPP_EXPORTED_FROM_ABI void rethrow_exception(exception_ptr); -}; - -inline _LIBCPP_HIDE_FROM_ABI void swap(exception_ptr& __x, exception_ptr& __y) _NOEXCEPT { - std::swap(__x.__ptr_, __y.__ptr_); -} - -# if _LIBCPP_HAS_EXCEPTIONS -# if _LIBCPP_HAS_RTTI && _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION -template <class _Ep> -_LIBCPP_HIDE_FROM_ABI exception_ptr __make_exception_ptr_explicit(_Ep& __e) _NOEXCEPT { - using _Ep2 = __decay_t<_Ep>; - void* __ex = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ep)); -# ifdef __wasm__ - auto __cleanup = [](void* __p) -> void* { - std::__destroy_at(static_cast<_Ep2*>(__p)); - return __p; - }; -# else - auto __cleanup = [](void* __p) { std::__destroy_at(static_cast<_Ep2*>(__p)); }; -# endif - (void)__cxxabiv1::__cxa_init_primary_exception(__ex, const_cast<std::type_info*>(&typeid(_Ep)), __cleanup); - - try { - ::new (__ex) _Ep2(__e); - return exception_ptr::__from_native_exception_pointer(__ex); - } catch (...) { - __cxxabiv1::__cxa_free_exception(__ex); - return current_exception(); - } -} -# endif // _LIBCPP_HAS_RTTI && _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION - -template <class _Ep> -_LIBCPP_HIDE_FROM_ABI exception_ptr __make_exception_ptr_via_throw(_Ep& __e) _NOEXCEPT { - try { - throw __e; - } catch (...) { - return current_exception(); - } -} - -template <class _Ep> -_LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT { - // Objective-C exceptions are thrown via pointer. When throwing an Objective-C exception, - // Clang generates a call to `objc_exception_throw` instead of the usual `__cxa_throw`. - // That function creates an exception with a special Objective-C typeinfo instead of - // the usual C++ typeinfo, since that is needed to implement the behavior documented - // at [1]). - // - // Because of this special behavior, we can't create an exception via `__cxa_init_primary_exception` - // for Objective-C exceptions, otherwise we'd bypass `objc_exception_throw`. See https://llvm.org/PR135089. - // - // [1]: - // https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Exceptions/Articles/Exceptions64Bit.html - if _LIBCPP_CONSTEXPR (is_pointer<_Ep>::value) { - return std::__make_exception_ptr_via_throw(__e); - } - -# if _LIBCPP_HAS_RTTI && _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION && !defined(_LIBCPP_CXX03_LANG) - return std::__make_exception_ptr_explicit(__e); -# else - return std::__make_exception_ptr_via_throw(__e); -# endif -} -# else // !_LIBCPP_HAS_EXCEPTIONS -template <class _Ep> -_LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep) _NOEXCEPT { - _LIBCPP_VERBOSE_ABORT("make_exception_ptr was called in -fno-exceptions mode"); -} -# endif // _LIBCPP_HAS_EXCEPTIONS - -#else // defined(_LIBCPP_ABI_MICROSOFT) - -class _LIBCPP_EXPORTED_FROM_ABI exception_ptr { - _LIBCPP_DIAGNOSTIC_PUSH - _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wunused-private-field") - void* __ptr1_; - void* __ptr2_; - _LIBCPP_DIAGNOSTIC_POP - -public: - exception_ptr() _NOEXCEPT; - exception_ptr(nullptr_t) _NOEXCEPT; - exception_ptr(const exception_ptr& __other) _NOEXCEPT; - exception_ptr& operator=(const exception_ptr& __other) _NOEXCEPT; - exception_ptr& operator=(nullptr_t) _NOEXCEPT; - ~exception_ptr() _NOEXCEPT; - explicit operator bool() const _NOEXCEPT; -}; - -_LIBCPP_EXPORTED_FROM_ABI bool operator==(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT; - -inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT { - return !(__x == __y); -} - -_LIBCPP_EXPORTED_FROM_ABI void swap(exception_ptr&, exception_ptr&) _NOEXCEPT; - -_LIBCPP_EXPORTED_FROM_ABI exception_ptr __copy_exception_ptr(void* __except, const void* __ptr); -_LIBCPP_EXPORTED_FROM_ABI exception_ptr current_exception() _NOEXCEPT; -[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void rethrow_exception(exception_ptr); - -// This is a built-in template function which automagically extracts the required -// information. -template <class _E> -void* __GetExceptionInfo(_E); - -template <class _Ep> -_LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT { - return __copy_exception_ptr(std::addressof(__e), __GetExceptionInfo(__e)); -} - -#endif // defined(_LIBCPP_ABI_MICROSOFT) -_LIBCPP_END_UNVERSIONED_NAMESPACE_STD - -_LIBCPP_POP_MACROS - -#endif // _LIBCPP___EXCEPTION_EXCEPTION_PTR_H diff --git a/third_party/libcxx/include/c++/v1/__exception/nested_exception.h b/third_party/libcxx/include/c++/v1/__exception/nested_exception.h deleted file mode 100644 index dd84efb..0000000 --- a/third_party/libcxx/include/c++/v1/__exception/nested_exception.h +++ /dev/null @@ -1,100 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 _LIBCPP___EXCEPTION_NESTED_EXCEPTION_H -#define _LIBCPP___EXCEPTION_NESTED_EXCEPTION_H - -#include <__config> -#include <__exception/exception_ptr.h> -#include <__memory/addressof.h> -#include <__type_traits/decay.h> -#include <__type_traits/enable_if.h> -#include <__type_traits/integral_constant.h> -#include <__type_traits/is_base_of.h> -#include <__type_traits/is_class.h> -#include <__type_traits/is_constructible.h> -#include <__type_traits/is_convertible.h> -#include <__type_traits/is_final.h> -#include <__type_traits/is_polymorphic.h> -#include <__utility/forward.h> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD - -class _LIBCPP_EXPORTED_FROM_ABI nested_exception { - exception_ptr __ptr_; - -public: - nested_exception() _NOEXCEPT; - _LIBCPP_HIDE_FROM_ABI nested_exception(const nested_exception&) _NOEXCEPT = default; - _LIBCPP_HIDE_FROM_ABI nested_exception& operator=(const nested_exception&) _NOEXCEPT = default; - virtual ~nested_exception() _NOEXCEPT; - - // access functions - [[__noreturn__]] void rethrow_nested() const; - [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI exception_ptr nested_ptr() const _NOEXCEPT { return __ptr_; } -}; - -template <class _Tp> -struct __nested : public _Tp, public nested_exception { - _LIBCPP_HIDE_FROM_ABI explicit __nested(const _Tp& __t) : _Tp(__t) {} -}; - -#if _LIBCPP_HAS_EXCEPTIONS -template <class _Tp, class _Up, bool> -struct __throw_with_nested; - -template <class _Tp, class _Up> -struct __throw_with_nested<_Tp, _Up, true> { - [[__noreturn__]] static inline _LIBCPP_HIDE_FROM_ABI void __do_throw(_Tp&& __t) { - throw __nested<_Up>(std::forward<_Tp>(__t)); - } -}; - -template <class _Tp, class _Up> -struct __throw_with_nested<_Tp, _Up, false> { - [[__noreturn__]] static inline _LIBCPP_HIDE_FROM_ABI void __do_throw(_Tp&& __t) { throw std::forward<_Tp>(__t); } -}; -#endif - -template <class _Tp> -[[__noreturn__]] _LIBCPP_HIDE_FROM_ABI void throw_with_nested(_Tp&& __t) { -#if _LIBCPP_HAS_EXCEPTIONS - using _Up = __decay_t<_Tp>; - static_assert(is_copy_constructible<_Up>::value, "type thrown must be CopyConstructible"); - __throw_with_nested<_Tp, - _Up, - is_class<_Up>::value && !is_base_of<nested_exception, _Up>::value && - !__is_final_v<_Up> >::__do_throw(std::forward<_Tp>(__t)); -#else - ((void)__t); - // FIXME: Make this abort -#endif -} - -template <class _From, class _To> -struct __can_dynamic_cast - : _BoolConstant< is_polymorphic<_From>::value && - (!is_base_of<_To, _From>::value || is_convertible<const _From*, const _To*>::value)> {}; - -template <class _Ep, __enable_if_t< __can_dynamic_cast<_Ep, nested_exception>::value, int> = 0> -inline _LIBCPP_HIDE_FROM_ABI void rethrow_if_nested(const _Ep& __e) { - const nested_exception* __nep = dynamic_cast<const nested_exception*>(std::addressof(__e)); - if (__nep) - __nep->rethrow_nested(); -} - -template <class _Ep, __enable_if_t<!__can_dynamic_cast<_Ep, nested_exception>::value, int> = 0> -inline _LIBCPP_HIDE_FROM_ABI void rethrow_if_nested(const _Ep&) {} - -_LIBCPP_END_UNVERSIONED_NAMESPACE_STD - -#endif // _LIBCPP___EXCEPTION_NESTED_EXCEPTION_H diff --git a/third_party/libcxx/include/c++/v1/__exception/operations.h b/third_party/libcxx/include/c++/v1/__exception/operations.h deleted file mode 100644 index 2b93ad2..0000000 --- a/third_party/libcxx/include/c++/v1/__exception/operations.h +++ /dev/null @@ -1,42 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 _LIBCPP___EXCEPTION_OPERATIONS_H -#define _LIBCPP___EXCEPTION_OPERATIONS_H - -#include <__config> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD -#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS) || \ - defined(_LIBCPP_BUILDING_LIBRARY) -using unexpected_handler = void (*)(); -_LIBCPP_EXPORTED_FROM_ABI unexpected_handler set_unexpected(unexpected_handler) _NOEXCEPT; -[[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI unexpected_handler get_unexpected() _NOEXCEPT; -[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void unexpected(); -#endif - -using terminate_handler = void (*)(); -_LIBCPP_EXPORTED_FROM_ABI terminate_handler set_terminate(terminate_handler) _NOEXCEPT; -[[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI terminate_handler get_terminate() _NOEXCEPT; - -#if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_ENABLE_CXX20_REMOVED_UNCAUGHT_EXCEPTION) -[[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_DEPRECATED_IN_CXX17 bool uncaught_exception() _NOEXCEPT; -#endif // _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_ENABLE_CXX20_REMOVED_UNCAUGHT_EXCEPTION) -[[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI int uncaught_exceptions() _NOEXCEPT; - -class _LIBCPP_EXPORTED_FROM_ABI exception_ptr; - -[[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI exception_ptr current_exception() _NOEXCEPT; -[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void rethrow_exception(exception_ptr); -_LIBCPP_END_UNVERSIONED_NAMESPACE_STD - -#endif // _LIBCPP___EXCEPTION_OPERATIONS_H diff --git a/third_party/libcxx/include/c++/v1/__exception/terminate.h b/third_party/libcxx/include/c++/v1/__exception/terminate.h deleted file mode 100644 index 955a49c..0000000 --- a/third_party/libcxx/include/c++/v1/__exception/terminate.h +++ /dev/null @@ -1,22 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 _LIBCPP___EXCEPTION_TERMINATE_H -#define _LIBCPP___EXCEPTION_TERMINATE_H - -#include <__config> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD -[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void terminate() _NOEXCEPT; -_LIBCPP_END_UNVERSIONED_NAMESPACE_STD - -#endif // _LIBCPP___EXCEPTION_TERMINATE_H |
