1*4bdff4beSrobert //===----------------------------------------------------------------------===// 246035553Spatrick // 346035553Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 446035553Spatrick // See https://llvm.org/LICENSE.txt for license information. 546035553Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 646035553Spatrick // 746035553Spatrick //===----------------------------------------------------------------------===// 846035553Spatrick 9*4bdff4beSrobert #include <exception> 10*4bdff4beSrobert #include <new> 11*4bdff4beSrobert #include <typeinfo> 1246035553Spatrick 1346035553Spatrick #if defined(LIBCXXRT) || defined(LIBCXX_BUILDING_LIBCXXABI) 1446035553Spatrick #include <cxxabi.h> 1546035553Spatrick using namespace __cxxabiv1; 1646035553Spatrick #define HAVE_DEPENDENT_EH_ABI 1 1746035553Spatrick #endif 1846035553Spatrick 1946035553Spatrick #if defined(_LIBCPP_ABI_MICROSOFT) 2046035553Spatrick #include "support/runtime/exception_msvc.ipp" 2146035553Spatrick #include "support/runtime/exception_pointer_msvc.ipp" 2246035553Spatrick #elif defined(_LIBCPPABI_VERSION) 2346035553Spatrick #include "support/runtime/exception_libcxxabi.ipp" 2446035553Spatrick #include "support/runtime/exception_pointer_cxxabi.ipp" 2546035553Spatrick #elif defined(LIBCXXRT) 2646035553Spatrick #include "support/runtime/exception_libcxxrt.ipp" 2746035553Spatrick #include "support/runtime/exception_pointer_cxxabi.ipp" 2846035553Spatrick #elif defined(__GLIBCXX__) 2946035553Spatrick #include "support/runtime/exception_glibcxx.ipp" 3046035553Spatrick #include "support/runtime/exception_pointer_glibcxx.ipp" 3146035553Spatrick #else 3246035553Spatrick #include "include/atomic_support.h" 3346035553Spatrick #include "support/runtime/exception_fallback.ipp" 3446035553Spatrick #include "support/runtime/exception_pointer_unimplemented.ipp" 3546035553Spatrick #endif 36