| Upstream-Status: Backport |
| [https://github.com/gabime/spdlog/commit/0ca574ae168820da0268b3ec7607ca7b33024d05] |
| |
| Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> |
| |
| From 0ca574ae168820da0268b3ec7607ca7b33024d05 Mon Sep 17 00:00:00 2001 |
| From: H1X4 <10332146+H1X4Dev@users.noreply.github.com> |
| Date: Fri, 31 Mar 2023 20:39:32 +0300 |
| Subject: [PATCH] fix build for master fmt (non-bundled) (#2694) |
| |
| * fix build for master fmt (non-bundled) |
| |
| * update fmt_runtime_string macro |
| |
| * fix build of updated macro |
| --- |
| include/spdlog/common.h | 9 ++++++++- |
| 1 file changed, 8 insertions(+), 1 deletion(-) |
| |
| diff --git a/include/spdlog/common.h b/include/spdlog/common.h |
| index e69201a81..5f671c5c6 100644 |
| --- a/include/spdlog/common.h |
| +++ b/include/spdlog/common.h |
| @@ -173,12 +173,19 @@ using format_string_t = fmt::format_string<Args...>; |
| template<class T> |
| using remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type; |
| |
| +template <typename Char> |
| +#if FMT_VERSION >= 90101 |
| +using fmt_runtime_string = fmt::runtime_format_string<Char>; |
| +#else |
| +using fmt_runtime_string = fmt::basic_runtime<Char>; |
| +#endif |
| + |
| // clang doesn't like SFINAE disabled constructor in std::is_convertible<> so have to repeat the condition from basic_format_string here, |
| // in addition, fmt::basic_runtime<Char> is only convertible to basic_format_string<Char> but not basic_string_view<Char> |
| template<class T, class Char = char> |
| struct is_convertible_to_basic_format_string |
| : std::integral_constant<bool, |
| - std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value> |
| + std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt_runtime_string<Char>>::value> |
| {}; |
| |
| # if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT) |