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