any.cpp revision 341825
1292928Sdim//===---------------------------- any.cpp ---------------------------------===//
2292928Sdim//
3292928Sdim//                     The LLVM Compiler Infrastructure
4292928Sdim//
5292928Sdim// This file is dual licensed under the MIT and the University of Illinois Open
6292928Sdim// Source Licenses. See LICENSE.TXT for details.
7292928Sdim//
8292928Sdim//===----------------------------------------------------------------------===//
9292928Sdim
10314564Sdim#include "any"
11292928Sdim
12314564Sdimnamespace std {
13314564Sdimconst char* bad_any_cast::what() const _NOEXCEPT {
14314564Sdim    return "bad any cast";
15314564Sdim}
16314564Sdim}
17314564Sdim
18341825Sdim
19341825Sdim#include <experimental/__config>
20341825Sdim
21341825Sdim//  Preserve std::experimental::any_bad_cast for ABI compatibility
22341825Sdim//  Even though it no longer exists in a header file
23292928Sdim_LIBCPP_BEGIN_NAMESPACE_LFTS
24341825Sdim
25341825Sdimclass _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_ANY_CAST bad_any_cast : public bad_cast
26341825Sdim{
27341825Sdimpublic:
28341825Sdim    virtual const char* what() const _NOEXCEPT;
29341825Sdim};
30341825Sdim
31292928Sdimconst char* bad_any_cast::what() const _NOEXCEPT {
32292928Sdim    return "bad any cast";
33292928Sdim}
34341825Sdim
35292928Sdim_LIBCPP_END_NAMESPACE_LFTS
36