xref: /netbsd-src/external/bsd/libc++/dist/libcxxrt/src/stdexcept.cc (revision fec583f48bb2b0329630246c25e9635fec7c3f97)
1ccec91a1Sjoerg /*
2ccec91a1Sjoerg  * Copyright 2010-2011 PathScale, Inc. All rights reserved.
3ccec91a1Sjoerg  *
4ccec91a1Sjoerg  * Redistribution and use in source and binary forms, with or without
5ccec91a1Sjoerg  * modification, are permitted provided that the following conditions are met:
6ccec91a1Sjoerg  *
7ccec91a1Sjoerg  * 1. Redistributions of source code must retain the above copyright notice,
8ccec91a1Sjoerg  *    this list of conditions and the following disclaimer.
9ccec91a1Sjoerg  *
10ccec91a1Sjoerg  * 2. Redistributions in binary form must reproduce the above copyright notice,
11ccec91a1Sjoerg  *    this list of conditions and the following disclaimer in the documentation
12ccec91a1Sjoerg  *    and/or other materials provided with the distribution.
13ccec91a1Sjoerg  *
14ccec91a1Sjoerg  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
15ccec91a1Sjoerg  * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
16ccec91a1Sjoerg  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17ccec91a1Sjoerg  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
18ccec91a1Sjoerg  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19ccec91a1Sjoerg  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20ccec91a1Sjoerg  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21ccec91a1Sjoerg  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22ccec91a1Sjoerg  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23ccec91a1Sjoerg  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24ccec91a1Sjoerg  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25ccec91a1Sjoerg  */
26ccec91a1Sjoerg 
27ccec91a1Sjoerg /**
28ccec91a1Sjoerg  * stdexcept.cc - provides stub implementations of the exceptions required by the runtime.
29ccec91a1Sjoerg  */
30ccec91a1Sjoerg #include "stdexcept.h"
31ccec91a1Sjoerg 
32ccec91a1Sjoerg namespace std {
33ccec91a1Sjoerg 
exception()34ccec91a1Sjoerg exception::exception() throw() {}
~exception()35ccec91a1Sjoerg exception::~exception() {}
exception(const exception &)36ccec91a1Sjoerg exception::exception(const exception&) throw() {}
operator =(const exception &)37ccec91a1Sjoerg exception& exception::operator=(const exception&) throw()
38ccec91a1Sjoerg {
39ccec91a1Sjoerg 	return *this;
40ccec91a1Sjoerg }
what() const41ccec91a1Sjoerg const char* exception::what() const throw()
42ccec91a1Sjoerg {
43ccec91a1Sjoerg 	return "std::exception";
44ccec91a1Sjoerg }
45ccec91a1Sjoerg 
bad_alloc()46ccec91a1Sjoerg bad_alloc::bad_alloc() throw() {}
~bad_alloc()47ccec91a1Sjoerg bad_alloc::~bad_alloc() {}
bad_alloc(const bad_alloc &)48ccec91a1Sjoerg bad_alloc::bad_alloc(const bad_alloc&) throw() {}
operator =(const bad_alloc &)49ccec91a1Sjoerg bad_alloc& bad_alloc::operator=(const bad_alloc&) throw()
50ccec91a1Sjoerg {
51ccec91a1Sjoerg 	return *this;
52ccec91a1Sjoerg }
what() const53ccec91a1Sjoerg const char* bad_alloc::what() const throw()
54ccec91a1Sjoerg {
55ccec91a1Sjoerg 	return "cxxrt::bad_alloc";
56ccec91a1Sjoerg }
57ccec91a1Sjoerg 
58ccec91a1Sjoerg 
59ccec91a1Sjoerg 
bad_cast()60ccec91a1Sjoerg bad_cast::bad_cast() throw() {}
~bad_cast()61ccec91a1Sjoerg bad_cast::~bad_cast() {}
bad_cast(const bad_cast &)62ccec91a1Sjoerg bad_cast::bad_cast(const bad_cast&) throw() {}
operator =(const bad_cast &)63ccec91a1Sjoerg bad_cast& bad_cast::operator=(const bad_cast&) throw()
64ccec91a1Sjoerg {
65ccec91a1Sjoerg 	return *this;
66ccec91a1Sjoerg }
what() const67ccec91a1Sjoerg const char* bad_cast::what() const throw()
68ccec91a1Sjoerg {
69ccec91a1Sjoerg 	return "std::bad_cast";
70ccec91a1Sjoerg }
71ccec91a1Sjoerg 
bad_typeid()72ccec91a1Sjoerg bad_typeid::bad_typeid() throw() {}
~bad_typeid()73ccec91a1Sjoerg bad_typeid::~bad_typeid() {}
bad_typeid(const bad_typeid & __rhs)74ccec91a1Sjoerg bad_typeid::bad_typeid(const bad_typeid &__rhs) throw() {}
operator =(const bad_typeid & __rhs)75ccec91a1Sjoerg bad_typeid& bad_typeid::operator=(const bad_typeid &__rhs) throw()
76ccec91a1Sjoerg {
77ccec91a1Sjoerg 	return *this;
78ccec91a1Sjoerg }
79ccec91a1Sjoerg 
what() const80ccec91a1Sjoerg const char* bad_typeid::what() const throw()
81ccec91a1Sjoerg {
82ccec91a1Sjoerg 	return "std::bad_typeid";
83ccec91a1Sjoerg }
84ccec91a1Sjoerg 
bad_array_new_length()85*fec583f4Spooka bad_array_new_length::bad_array_new_length() throw() {}
~bad_array_new_length()86*fec583f4Spooka bad_array_new_length::~bad_array_new_length() {}
bad_array_new_length(const bad_array_new_length &)87*fec583f4Spooka bad_array_new_length::bad_array_new_length(const bad_array_new_length&) throw() {}
operator =(const bad_array_new_length &)88*fec583f4Spooka bad_array_new_length& bad_array_new_length::operator=(const bad_array_new_length&) throw()
89*fec583f4Spooka {
90*fec583f4Spooka 	return *this;
91*fec583f4Spooka }
92*fec583f4Spooka 
what() const93*fec583f4Spooka const char* bad_array_new_length::what() const throw()
94*fec583f4Spooka {
95*fec583f4Spooka 	return "std::bad_array_new_length";
96*fec583f4Spooka }
97*fec583f4Spooka 
98ccec91a1Sjoerg } // namespace std
99ccec91a1Sjoerg 
100