unbreak build with libc++ 7 based on https://svnweb.freebsd.org/ports/head/www/webkit2-gtk3/files/patch-Source_WTF_wtf_Optional.h?view=markup&pathrev=477812 Fixes /usr/include/c++/v1/optional:171:29: error: redefinition of 'bad_optional_access' class _LIBCPP_EXCEPTION_ABI bad_optional_access ^ DerivedSources/ForwardingHeaders/wtf/Optional.h:295:7: note: previous definition is here class bad_optional_access : public std::logic_error { ^ Upstream-Status: Pending Signed-off-by: Khem Raj --- a/Source/WTF/wtf/Optional.h +++ b/Source/WTF/wtf/Optional.h @@ -276,14 +276,14 @@ struct nullopt_t }; constexpr nullopt_t nullopt{nullopt_t::init()}; - +# if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000 // 20.5.8, class bad_optional_access class bad_optional_access : public std::logic_error { public: explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {} explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {} }; - +# endif // _LIBCPP_VERSION < 7000 template union storage_t