Line | Count | Source (jump to first uncovered line) |
1 | //===----------------------------------------------------------------------===// | |
2 | // | |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
4 | // See https://llvm.org/LICENSE.txt for license information. | |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
6 | // | |
7 | //===----------------------------------------------------------------------===// | |
8 | ||
9 | #include <__availability> | |
10 | #include <optional> | |
11 | ||
12 | namespace std | |
13 | { | |
14 | ||
15 | 0 | bad_optional_access::~bad_optional_access() noexcept = default; |
16 | ||
17 | 0 | const char* bad_optional_access::what() const noexcept { |
18 | 0 | return "bad_optional_access"; |
19 | 0 | } |
20 | ||
21 | } // std | |
22 | ||
23 | ||
24 | #include <experimental/__config> | |
25 | ||
26 | // Preserve std::experimental::bad_optional_access for ABI compatibility | |
27 | // Even though it no longer exists in a header file | |
28 | _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL | |
29 | ||
30 | class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access | |
31 | : public std::logic_error | |
32 | { | |
33 | public: | |
34 | 0 | bad_optional_access() : std::logic_error("Bad optional Access") {} |
35 | ||
36 | // Get the key function ~bad_optional_access() into the dylib | |
37 | virtual ~bad_optional_access() noexcept; | |
38 | }; | |
39 | ||
40 | 0 | bad_optional_access::~bad_optional_access() noexcept = default; |
41 | ||
42 | _LIBCPP_END_NAMESPACE_EXPERIMENTAL |