blob: 9d0d50b79e536bd09aa8ec3ef89ca8a15cc5599e [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001unbreak build with libc++ 7
2
3based on
4https://svnweb.freebsd.org/ports/head/www/webkit2-gtk3/files/patch-Source_WTF_wtf_Optional.h?view=markup&pathrev=477812
5
6Fixes
7
8/usr/include/c++/v1/optional:171:29: error: redefinition of 'bad_optional_access'
9class _LIBCPP_EXCEPTION_ABI bad_optional_access
10 ^
11DerivedSources/ForwardingHeaders/wtf/Optional.h:295:7: note: previous definition is here
12class bad_optional_access : public std::logic_error {
13 ^
14
15Upstream-Status: Pending
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17--- a/Source/WTF/wtf/Optional.h
18+++ b/Source/WTF/wtf/Optional.h
19@@ -276,14 +276,14 @@ struct nullopt_t
20 };
21 constexpr nullopt_t nullopt{nullopt_t::init()};
22
23-
24+# if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000
25 // 20.5.8, class bad_optional_access
26 class bad_optional_access : public std::logic_error {
27 public:
28 explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {}
29 explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {}
30 };
31-
32+# endif // _LIBCPP_VERSION < 7000
33
34 template <class T>
35 union storage_t