blob: 0b502cd134c071d7762279f873ab9c330a729a1f [file] [log] [blame]
Nick Kledzik111e0cb2010-05-14 20:19:37 +00001//===------------------------ exception.cpp -------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
Howard Hinnant412dbeb2010-11-16 22:09:02 +00005// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
Nick Kledzik111e0cb2010-05-14 20:19:37 +00007//
8//===----------------------------------------------------------------------===//
Nick Kledzik111e0cb2010-05-14 20:19:37 +00009
10#include "exception"
Peter Collingbourne3b5d9692013-10-06 22:13:21 +000011#include "new"
Eric Fiselierd22c9dc2017-02-10 08:57:35 +000012#include "typeinfo"
Nick Kledzik111e0cb2010-05-14 20:19:37 +000013
Eric Fiselierd22c9dc2017-02-10 08:57:35 +000014#if defined(LIBCXXRT) || defined(LIBCXX_BUILDING_LIBCXXABI) || \
15 (defined(__APPLE__) && !defined(_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY))
Nick Kledzik111e0cb2010-05-14 20:19:37 +000016 #include <cxxabi.h>
17 using namespace __cxxabiv1;
David Chisnall89728132011-09-21 08:39:44 +000018 #define HAVE_DEPENDENT_EH_ABI 1
Eric Fiselierd22c9dc2017-02-10 08:57:35 +000019#endif
Eric Fiselier8dcdeae2017-02-10 07:43:08 +000020
Eric Fiselier8dcdeae2017-02-10 07:43:08 +000021#if defined(_LIBCPP_ABI_MICROSOFT)
Eric Fiselierd22c9dc2017-02-10 08:57:35 +000022#include "support/runtime/exception_msvc.ipp"
23#include "support/runtime/exception_pointer_unimplemented.ipp"
24#elif defined(_LIBCPPABI_VERSION)
25#include "support/runtime/exception_libcxxabi.ipp"
26#include "support/runtime/exception_pointer_cxxabi.ipp"
27#elif defined(LIBCXXRT)
28#include "support/runtime/exception_libcxxrt.ipp"
29#include "support/runtime/exception_pointer_cxxabi.ipp"
Eric Fiselier8dcdeae2017-02-10 07:43:08 +000030#elif defined(__GLIBCXX__)
Eric Fiselierd22c9dc2017-02-10 08:57:35 +000031#include "support/runtime/exception_glibcxx.ipp"
32#include "support/runtime/exception_pointer_glibcxx.ipp"
Eric Fiselier8dcdeae2017-02-10 07:43:08 +000033#else
Eric Fiselierd22c9dc2017-02-10 08:57:35 +000034#include "support/runtime/exception_fallback.ipp"
35#include "support/runtime/exception_pointer_unimplemented.ipp"
Eric Fiselier8dcdeae2017-02-10 07:43:08 +000036#endif