1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "stdexcept"
10#include "new"
11#include <cstdlib>
12#include <cstring>
13#include <cstdint>
14#include <cstddef>
15#include "include/refstring.h" // from libc++
16
17static_assert(sizeof(std::__libcpp_refstring) == sizeof(const char *), "");
18
19namespace std // purposefully not using versioning namespace
20{
21
22logic_error::~logic_error() noexcept {}
23
24const char*
25logic_error::what() const noexcept
26{
27 return __imp_.c_str();
28}
29
30runtime_error::~runtime_error() noexcept {}
31
32const char*
33runtime_error::what() const noexcept
34{
35 return __imp_.c_str();
36}
37
38domain_error::~domain_error() noexcept {}
39invalid_argument::~invalid_argument() noexcept {}
40length_error::~length_error() noexcept {}
41out_of_range::~out_of_range() noexcept {}
42
43range_error::~range_error() noexcept {}
44overflow_error::~overflow_error() noexcept {}
45underflow_error::~underflow_error() noexcept {}
46
47} // std
48

source code of libcxxabi/src/stdlib_stdexcept.cpp