exception.cpp revision 355940
1130561Sobrien//===------------------------ exception.cpp -------------------------------===// 2130561Sobrien// 3130561Sobrien// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4130561Sobrien// See https://llvm.org/LICENSE.txt for license information. 5130561Sobrien// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6130561Sobrien// 7130561Sobrien//===----------------------------------------------------------------------===// 8130561Sobrien 9130561Sobrien#include "exception" 10130561Sobrien#include "new" 11130561Sobrien#include "typeinfo" 12130561Sobrien 13130561Sobrien#if defined(LIBCXXRT) || defined(LIBCXX_BUILDING_LIBCXXABI) 14130561Sobrien #include <cxxabi.h> 15130561Sobrien using namespace __cxxabiv1; 16130561Sobrien #define HAVE_DEPENDENT_EH_ABI 1 17130561Sobrien#endif 18218822Sdim 19130561Sobrien#if defined(_LIBCPP_ABI_MICROSOFT) 20130561Sobrien#include "support/runtime/exception_msvc.ipp" 21130561Sobrien#include "support/runtime/exception_pointer_msvc.ipp" 22130561Sobrien#elif defined(_LIBCPPABI_VERSION) 23130561Sobrien#include "support/runtime/exception_libcxxabi.ipp" 24130561Sobrien#include "support/runtime/exception_pointer_cxxabi.ipp" 25130561Sobrien#elif defined(LIBCXXRT) 26130561Sobrien#include "support/runtime/exception_libcxxrt.ipp" 27130561Sobrien#include "support/runtime/exception_pointer_cxxabi.ipp" 28130561Sobrien#elif defined(__GLIBCXX__) 29130561Sobrien#include "support/runtime/exception_glibcxx.ipp" 30130561Sobrien#include "support/runtime/exception_pointer_glibcxx.ipp" 31130561Sobrien#else 32130561Sobrien#include "include/atomic_support.h" 33130561Sobrien#include "support/runtime/exception_fallback.ipp" 34130561Sobrien#include "support/runtime/exception_pointer_unimplemented.ipp" 35130561Sobrien#endif 36130561Sobrien