blob: 3d2dcfd5b10ef0f2ba31da76b1523200c0a7b392 [file] [log] [blame]
Nick Kledzik804b6e72010-05-14 20:19:37 +00001//===------------------------ exception.cpp -------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
Howard Hinnantb64f8b02010-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 Kledzik804b6e72010-05-14 20:19:37 +00007//
8//===----------------------------------------------------------------------===//
Nick Kledzik804b6e72010-05-14 20:19:37 +00009
10#include "exception"
Peter Collingbourneece95912013-10-06 22:13:21 +000011#include "new"
Eric Fiselier1edf3162017-02-10 08:57:35 +000012#include "typeinfo"
Nick Kledzik804b6e72010-05-14 20:19:37 +000013
Eric Fiselier1edf3162017-02-10 08:57:35 +000014#if defined(LIBCXXRT) || defined(LIBCXX_BUILDING_LIBCXXABI) || \
15 (defined(__APPLE__) && !defined(_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY))
Nick Kledzik804b6e72010-05-14 20:19:37 +000016 #include <cxxabi.h>
17 using namespace __cxxabiv1;
David Chisnallc512df12011-09-21 08:39:44 +000018 #define HAVE_DEPENDENT_EH_ABI 1
Eric Fiselier1edf3162017-02-10 08:57:35 +000019#endif
Eric Fiselierd3298ad2017-02-10 07:43:08 +000020
Eric Fiselierd3298ad2017-02-10 07:43:08 +000021#if defined(_LIBCPP_ABI_MICROSOFT)
Eric Fiselier1edf3162017-02-10 08:57:35 +000022#include "support/runtime/exception_msvc.ipp"
Eric Fiselier78f5dc02017-05-08 01:17:50 +000023#include "support/runtime/exception_pointer_msvc.ipp"
Eric Fiselier1edf3162017-02-10 08:57:35 +000024#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 Fiselierd3298ad2017-02-10 07:43:08 +000030#elif defined(__GLIBCXX__)
Eric Fiselier1edf3162017-02-10 08:57:35 +000031#include "support/runtime/exception_glibcxx.ipp"
32#include "support/runtime/exception_pointer_glibcxx.ipp"
Eric Fiselierd3298ad2017-02-10 07:43:08 +000033#else
Weiming Zhaobc4474e2017-09-19 23:18:03 +000034#include "include/atomic_support.h"
Eric Fiselier1edf3162017-02-10 08:57:35 +000035#include "support/runtime/exception_fallback.ipp"
36#include "support/runtime/exception_pointer_unimplemented.ipp"
Eric Fiselierd3298ad2017-02-10 07:43:08 +000037#endif