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 Workerlogic_error::~logic_error() _NOEXCEPT {} 24*c05d8e5dSAndroid Build Coastguard Worker 25*c05d8e5dSAndroid Build Coastguard Worker const char* what() const26*c05d8e5dSAndroid Build Coastguard Workerlogic_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 Workerruntime_error::~runtime_error() _NOEXCEPT {} 32*c05d8e5dSAndroid Build Coastguard Worker 33*c05d8e5dSAndroid Build Coastguard Worker const char* what() const34*c05d8e5dSAndroid Build Coastguard Workerruntime_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 Workerdomain_error::~domain_error() _NOEXCEPT {} ~invalid_argument()40*c05d8e5dSAndroid Build Coastguard Workerinvalid_argument::~invalid_argument() _NOEXCEPT {} ~length_error()41*c05d8e5dSAndroid Build Coastguard Workerlength_error::~length_error() _NOEXCEPT {} ~out_of_range()42*c05d8e5dSAndroid Build Coastguard Workerout_of_range::~out_of_range() _NOEXCEPT {} 43*c05d8e5dSAndroid Build Coastguard Worker ~range_error()44*c05d8e5dSAndroid Build Coastguard Workerrange_error::~range_error() _NOEXCEPT {} ~overflow_error()45*c05d8e5dSAndroid Build Coastguard Workeroverflow_error::~overflow_error() _NOEXCEPT {} ~underflow_error()46*c05d8e5dSAndroid Build Coastguard Workerunderflow_error::~underflow_error() _NOEXCEPT {} 47*c05d8e5dSAndroid Build Coastguard Worker 48*c05d8e5dSAndroid Build Coastguard Worker } // std 49