stdexcept.cc revision 232950
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