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