libcxxrt

git clone https://git.neptards.moe/neptards/libcxxrt.git
Log | Files | Refs | README | LICENSE

stdexcept.cc (3005B)


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