diff options
author | 2019-02-04 16:55:44 +0000 | |
---|---|---|
committer | 2019-02-04 16:55:44 +0000 | |
commit | 76c648e7a477ffb2a882ad5ffe523269bd9a3f6a (patch) | |
tree | 29d319d598650bab04e4f58e5e8769567e33091e /lib/libcxx/src/optional.cpp | |
parent | Import libc++abi 7.0.1. (diff) | |
download | wireguard-openbsd-76c648e7a477ffb2a882ad5ffe523269bd9a3f6a.tar.xz wireguard-openbsd-76c648e7a477ffb2a882ad5ffe523269bd9a3f6a.zip |
Import libc++ 7.0.1.
Diffstat (limited to 'lib/libcxx/src/optional.cpp')
-rw-r--r-- | lib/libcxx/src/optional.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/libcxx/src/optional.cpp b/lib/libcxx/src/optional.cpp index 2877d175bc1..6099b6b41e8 100644 --- a/lib/libcxx/src/optional.cpp +++ b/lib/libcxx/src/optional.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "optional" -#include "experimental/optional" namespace std { @@ -21,8 +20,23 @@ const char* bad_optional_access::what() const _NOEXCEPT { } // std + +#include <experimental/__config> + +// Preserve std::experimental::bad_optional_access for ABI compatibility +// Even though it no longer exists in a header file _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL +class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access + : public std::logic_error +{ +public: + bad_optional_access() : std::logic_error("Bad optional Access") {} + +// Get the key function ~bad_optional_access() into the dylib + virtual ~bad_optional_access() _NOEXCEPT; +}; + bad_optional_access::~bad_optional_access() _NOEXCEPT = default; _LIBCPP_END_NAMESPACE_EXPERIMENTAL |