From def60acdf5ff7d5c8807bcf5382de2767e3a8819 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Fri, 10 Feb 2017 04:25:33 +0000 Subject: Split exception.cpp and new.cpp implementation into different files for different runtimes. exception.cpp is a bloody mess. It's full of confusing #ifdef branches for each different ABI library we support, and it's getting unmaintainable. This patch breaks down exception.cpp into multiple different header files, roughly one per implementation. Additionally it moves the definitions of exceptions in new.cpp into the correct implementation header. This patch also removes an unmaintained libc++abi configuration. This configuration may still be used by Apple internally but there are no other possible users. If it turns out that Apple still uses this configuration internally I will re-add it in a later commit. See http://llvm.org/PR31904. llvm-svn: 294707 --- libcxx/src/support/runtime/exception_glibcxx.ipp | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 libcxx/src/support/runtime/exception_glibcxx.ipp (limited to 'libcxx/src/support/runtime/exception_glibcxx.ipp') diff --git a/libcxx/src/support/runtime/exception_glibcxx.ipp b/libcxx/src/support/runtime/exception_glibcxx.ipp new file mode 100644 index 00000000000..365dc40a7ea --- /dev/null +++ b/libcxx/src/support/runtime/exception_glibcxx.ipp @@ -0,0 +1,38 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef __GLIBCXX__ +#error header can only be used when targeting libstdc++ or libsupc++ +#endif + +namespace std { + +bad_alloc::bad_alloc() _NOEXCEPT +{ +} + +bad_array_new_length::bad_array_new_length() _NOEXCEPT +{ +} + +bad_array_length::bad_array_length() _NOEXCEPT +{ +} + + +bad_cast::bad_cast() _NOEXCEPT +{ +} + +bad_typeid::bad_typeid() _NOEXCEPT +{ +} + +} // namespace -- cgit v1.2.3