blob: bd6789ef227d40b2c4d1f3b537abecf82dbfdc9c [file] [log] [blame]
Howard Hinnanta2bde872012-02-17 19:23:47 +00001//===------------------------ stdexcept.cpp -------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Dan Alberte45805f2014-07-02 16:11:13 -070010#include "__refstring"
Howard Hinnanta2bde872012-02-17 19:23:47 +000011#include "stdexcept"
12#include "new"
13#include <cstdlib>
14#include <cstring>
15#include <cstdint>
16#include <cstddef>
17
Dan Alberte45805f2014-07-02 16:11:13 -070018static_assert(sizeof(std::__libcpp_refstring) == sizeof(const char *), "");
Howard Hinnanta2bde872012-02-17 19:23:47 +000019
20namespace std // purposefully not using versioning namespace
21{
22
Dan Alberte45805f2014-07-02 16:11:13 -070023logic_error::~logic_error() _NOEXCEPT {}
Howard Hinnanta2bde872012-02-17 19:23:47 +000024
25const char*
26logic_error::what() const _NOEXCEPT
27{
Dan Alberte45805f2014-07-02 16:11:13 -070028 return __imp_.c_str();
Howard Hinnanta2bde872012-02-17 19:23:47 +000029}
30
Dan Alberte45805f2014-07-02 16:11:13 -070031runtime_error::~runtime_error() _NOEXCEPT {}
Howard Hinnanta2bde872012-02-17 19:23:47 +000032
33const char*
34runtime_error::what() const _NOEXCEPT
35{
Dan Alberte45805f2014-07-02 16:11:13 -070036 return __imp_.c_str();
Howard Hinnanta2bde872012-02-17 19:23:47 +000037}
38
39domain_error::~domain_error() _NOEXCEPT {}
40invalid_argument::~invalid_argument() _NOEXCEPT {}
41length_error::~length_error() _NOEXCEPT {}
42out_of_range::~out_of_range() _NOEXCEPT {}
43
44range_error::~range_error() _NOEXCEPT {}
45overflow_error::~overflow_error() _NOEXCEPT {}
46underflow_error::~underflow_error() _NOEXCEPT {}
47
48} // std