13461dbc0SEric Fiselier //===---------------------------- any.cpp ---------------------------------===// 23461dbc0SEric Fiselier // 33461dbc0SEric Fiselier // The LLVM Compiler Infrastructure 43461dbc0SEric Fiselier // 53461dbc0SEric Fiselier // This file is dual licensed under the MIT and the University of Illinois Open 63461dbc0SEric Fiselier // Source Licenses. See LICENSE.TXT for details. 73461dbc0SEric Fiselier // 83461dbc0SEric Fiselier //===----------------------------------------------------------------------===// 93461dbc0SEric Fiselier 10324506b9SEric Fiselier #include "any" 113461dbc0SEric Fiselier 12324506b9SEric Fiselier namespace std { 133461dbc0SEric Fiselier const char* bad_any_cast::what() const _NOEXCEPT { 143461dbc0SEric Fiselier return "bad any cast"; 153461dbc0SEric Fiselier } 16324506b9SEric Fiselier } 17*b87adec4SMarshall Clow 18*b87adec4SMarshall Clow 19*b87adec4SMarshall Clow #include <experimental/__config> 20*b87adec4SMarshall Clow 21*b87adec4SMarshall Clow // Preserve std::experimental::any_bad_cast for ABI compatibility 22*b87adec4SMarshall Clow // Even though it no longer exists in a header file 23*b87adec4SMarshall Clow _LIBCPP_BEGIN_NAMESPACE_LFTS 24*b87adec4SMarshall Clow 25*b87adec4SMarshall Clow class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_ANY_CAST bad_any_cast : public bad_cast 26*b87adec4SMarshall Clow { 27*b87adec4SMarshall Clow public: 28*b87adec4SMarshall Clow virtual const char* what() const _NOEXCEPT; 29*b87adec4SMarshall Clow }; 30*b87adec4SMarshall Clow 31*b87adec4SMarshall Clow const char* bad_any_cast::what() const _NOEXCEPT { 32*b87adec4SMarshall Clow return "bad any cast"; 33*b87adec4SMarshall Clow } 34*b87adec4SMarshall Clow 35*b87adec4SMarshall Clow _LIBCPP_END_NAMESPACE_LFTS 36