1232950Stheraven/*
2232950Stheraven * Copyright 2010-2011 PathScale, Inc. All rights reserved.
3232950Stheraven *
4232950Stheraven * Redistribution and use in source and binary forms, with or without
5232950Stheraven * modification, are permitted provided that the following conditions are met:
6232950Stheraven *
7232950Stheraven * 1. Redistributions of source code must retain the above copyright notice,
8232950Stheraven *    this list of conditions and the following disclaimer.
9232950Stheraven *
10232950Stheraven * 2. Redistributions in binary form must reproduce the above copyright notice,
11232950Stheraven *    this list of conditions and the following disclaimer in the documentation
12232950Stheraven *    and/or other materials provided with the distribution.
13232950Stheraven *
14232950Stheraven * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
15232950Stheraven * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
16232950Stheraven * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17232950Stheraven * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
18232950Stheraven * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19232950Stheraven * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20232950Stheraven * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21232950Stheraven * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22232950Stheraven * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23232950Stheraven * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24232950Stheraven * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25232950Stheraven */
26232950Stheraven
27227825Stheraven/**
28227825Stheraven * stdexcept.cc - provides stub implementations of the exceptions required by the runtime.
29227825Stheraven */
30227825Stheraven#include "stdexcept.h"
31227825Stheraven
32227825Stheravennamespace std {
33227825Stheraven
34227825Stheravenexception::exception() throw() {}
35227825Stheravenexception::~exception() {}
36227825Stheravenexception::exception(const exception&) throw() {}
37227825Stheravenexception& exception::operator=(const exception&) throw()
38227825Stheraven{
39227825Stheraven	return *this;
40227825Stheraven}
41227825Stheravenconst char* exception::what() const throw()
42227825Stheraven{
43227825Stheraven	return "std::exception";
44227825Stheraven}
45227825Stheraven
46227825Stheravenbad_alloc::bad_alloc() throw() {}
47227825Stheravenbad_alloc::~bad_alloc() {}
48227825Stheravenbad_alloc::bad_alloc(const bad_alloc&) throw() {}
49227825Stheravenbad_alloc& bad_alloc::operator=(const bad_alloc&) throw()
50227825Stheraven{
51227825Stheraven	return *this;
52227825Stheraven}
53227825Stheravenconst char* bad_alloc::what() const throw()
54227825Stheraven{
55227825Stheraven	return "cxxrt::bad_alloc";
56227825Stheraven}
57227825Stheraven
58227825Stheraven
59227825Stheraven
60227825Stheravenbad_cast::bad_cast() throw() {}
61227825Stheravenbad_cast::~bad_cast() {}
62227825Stheravenbad_cast::bad_cast(const bad_cast&) throw() {}
63227825Stheravenbad_cast& bad_cast::operator=(const bad_cast&) throw()
64227825Stheraven{
65227825Stheraven	return *this;
66227825Stheraven}
67227825Stheravenconst char* bad_cast::what() const throw()
68227825Stheraven{
69227825Stheraven	return "std::bad_cast";
70227825Stheraven}
71227825Stheraven
72227825Stheravenbad_typeid::bad_typeid() throw() {}
73227825Stheravenbad_typeid::~bad_typeid() {}
74227825Stheravenbad_typeid::bad_typeid(const bad_typeid &__rhs) throw() {}
75227825Stheravenbad_typeid& bad_typeid::operator=(const bad_typeid &__rhs) throw()
76227825Stheraven{
77227825Stheraven	return *this;
78227825Stheraven}
79227825Stheraven
80227825Stheravenconst char* bad_typeid::what() const throw()
81227825Stheraven{
82227825Stheraven	return "std::bad_typeid";
83227825Stheraven}
84227825Stheraven
85227825Stheraven} // namespace std
86227825Stheraven
87