From ed0dbe1a64a80dc329daab3776bda9d3fa54c9f8 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 26 Mar 2020 22:41:26 -0400 Subject: add libc++ and libc++abi sources upstream: LLVM 10 --- lib/libcxxabi/src/stdlib_stdexcept.cpp | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lib/libcxxabi/src/stdlib_stdexcept.cpp (limited to 'lib/libcxxabi/src/stdlib_stdexcept.cpp') diff --git a/lib/libcxxabi/src/stdlib_stdexcept.cpp b/lib/libcxxabi/src/stdlib_stdexcept.cpp new file mode 100644 index 0000000000..2cff8ee2f0 --- /dev/null +++ b/lib/libcxxabi/src/stdlib_stdexcept.cpp @@ -0,0 +1,47 @@ +//===------------------------ stdexcept.cpp -------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "include/refstring.h" +#include "stdexcept" +#include "new" +#include +#include +#include +#include + +static_assert(sizeof(std::__libcpp_refstring) == sizeof(const char *), ""); + +namespace std // purposefully not using versioning namespace +{ + +logic_error::~logic_error() _NOEXCEPT {} + +const char* +logic_error::what() const _NOEXCEPT +{ + return __imp_.c_str(); +} + +runtime_error::~runtime_error() _NOEXCEPT {} + +const char* +runtime_error::what() const _NOEXCEPT +{ + return __imp_.c_str(); +} + +domain_error::~domain_error() _NOEXCEPT {} +invalid_argument::~invalid_argument() _NOEXCEPT {} +length_error::~length_error() _NOEXCEPT {} +out_of_range::~out_of_range() _NOEXCEPT {} + +range_error::~range_error() _NOEXCEPT {} +overflow_error::~overflow_error() _NOEXCEPT {} +underflow_error::~underflow_error() _NOEXCEPT {} + +} // std -- cgit v1.2.3