summaryrefslogtreecommitdiff
path: root/third_party/libcxx/include/c++/v1/__exception
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libcxx/include/c++/v1/__exception')
-rw-r--r--third_party/libcxx/include/c++/v1/__exception/exception.h96
-rw-r--r--third_party/libcxx/include/c++/v1/__exception/exception_ptr.h226
-rw-r--r--third_party/libcxx/include/c++/v1/__exception/nested_exception.h100
-rw-r--r--third_party/libcxx/include/c++/v1/__exception/operations.h42
-rw-r--r--third_party/libcxx/include/c++/v1/__exception/terminate.h22
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