diff --git a/date.h b/date.h index 04b340c..c092859 100644 --- a/date.h +++ b/date.h @@ -6724,7 +6724,8 @@ parse(const CharT* format, Parsable& tp, namespace detail { -#if __cplusplus >= 201402 && (!defined(__EDG_VERSION__) || __EDG_VERSION__ > 411) +#if __cplusplus >= 201402 && (!defined(__EDG_VERSION__) || __EDG_VERSION__ > 411) \ + && (!defined(__SUNPRO_CC) || __SUNPRO_CC > 0x5150) template class string_literal diff --git a/tz.cpp b/tz.cpp index a8ad942..8b5feb1 100644 --- a/tz.cpp +++ b/tz.cpp @@ -2617,15 +2617,26 @@ curl_global() return 0; } -static const auto curl_delete = [](CURL* p) {::curl_easy_cleanup(p);}; +namespace +{ + +struct curl_deleter +{ + void operator()(CURL* p) const + { + ::curl_easy_cleanup(p); + } +}; + +} // unnamed namespace static -std::unique_ptr +std::unique_ptr curl_init() { static const auto curl_is_now_initiailized = curl_global(); (void)curl_is_now_initiailized; - return std::unique_ptr{::curl_easy_init(), curl_delete}; + return std::unique_ptr{::curl_easy_init()}; } static