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