1e9c9f002SEric Fiselier //===------------------------ stdexcept.cpp -------------------------------===//
2e9c9f002SEric Fiselier //
3e9c9f002SEric Fiselier //                     The LLVM Compiler Infrastructure
4e9c9f002SEric Fiselier //
5e9c9f002SEric Fiselier // This file is dual licensed under the MIT and the University of Illinois Open
6e9c9f002SEric Fiselier // Source Licenses. See LICENSE.TXT for details.
7e9c9f002SEric Fiselier //
8e9c9f002SEric Fiselier //===----------------------------------------------------------------------===//
9e9c9f002SEric Fiselier 
10*84800d99SEric Fiselier #include "include/refstring.h"
11e9c9f002SEric Fiselier #include "stdexcept"
12e9c9f002SEric Fiselier #include "new"
13e9c9f002SEric Fiselier #include <cstdlib>
14e9c9f002SEric Fiselier #include <cstring>
15e9c9f002SEric Fiselier #include <cstdint>
16e9c9f002SEric Fiselier #include <cstddef>
17e9c9f002SEric Fiselier 
18e9c9f002SEric Fiselier static_assert(sizeof(std::__libcpp_refstring) == sizeof(const char *), "");
19e9c9f002SEric Fiselier 
20e9c9f002SEric Fiselier namespace std  // purposefully not using versioning namespace
21e9c9f002SEric Fiselier {
22e9c9f002SEric Fiselier 
23e9c9f002SEric Fiselier logic_error::~logic_error() _NOEXCEPT {}
24e9c9f002SEric Fiselier 
25e9c9f002SEric Fiselier const char*
26e9c9f002SEric Fiselier logic_error::what() const _NOEXCEPT
27e9c9f002SEric Fiselier {
28e9c9f002SEric Fiselier     return __imp_.c_str();
29e9c9f002SEric Fiselier }
30e9c9f002SEric Fiselier 
31e9c9f002SEric Fiselier runtime_error::~runtime_error() _NOEXCEPT {}
32e9c9f002SEric Fiselier 
33e9c9f002SEric Fiselier const char*
34e9c9f002SEric Fiselier runtime_error::what() const _NOEXCEPT
35e9c9f002SEric Fiselier {
36e9c9f002SEric Fiselier     return __imp_.c_str();
37e9c9f002SEric Fiselier }
38e9c9f002SEric Fiselier 
39e9c9f002SEric Fiselier domain_error::~domain_error() _NOEXCEPT {}
40e9c9f002SEric Fiselier invalid_argument::~invalid_argument() _NOEXCEPT {}
41e9c9f002SEric Fiselier length_error::~length_error() _NOEXCEPT {}
42e9c9f002SEric Fiselier out_of_range::~out_of_range() _NOEXCEPT {}
43e9c9f002SEric Fiselier 
44e9c9f002SEric Fiselier range_error::~range_error() _NOEXCEPT {}
45e9c9f002SEric Fiselier overflow_error::~overflow_error() _NOEXCEPT {}
46e9c9f002SEric Fiselier underflow_error::~underflow_error() _NOEXCEPT {}
47e9c9f002SEric Fiselier 
48e9c9f002SEric Fiselier }  // std
49