Put the exception classes for experimental::optional and experimental::any back in the dylib for binary compatibility

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323989 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Marshall Clow
2018-02-01 18:45:57 +00:00
parent b21316f66c
commit fd34566e5a
2 changed files with 39 additions and 0 deletions

View File

@@ -14,3 +14,22 @@ const char* bad_any_cast::what() const _NOEXCEPT {
return "bad any cast";
}
}
#include <experimental/__config>
// Preserve std::experimental::any_bad_cast for ABI compatibility
// Even though it no longer exists in a header file
_LIBCPP_BEGIN_NAMESPACE_LFTS
class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_ANY_CAST bad_any_cast : public bad_cast
{
public:
virtual const char* what() const _NOEXCEPT;
};
const char* bad_any_cast::what() const _NOEXCEPT {
return "bad any cast";
}
_LIBCPP_END_NAMESPACE_LFTS