Commit 1653244c authored by mocabe's avatar mocabe Committed by Victor Zverovich

Fix compilation issue on VS2019 (#1186) (#1191)

parent d54e64b3
...@@ -204,9 +204,10 @@ FMT_BEGIN_NAMESPACE ...@@ -204,9 +204,10 @@ FMT_BEGIN_NAMESPACE
template <bool B, class T = void> template <bool B, class T = void>
using enable_if_t = typename std::enable_if<B, T>::type; using enable_if_t = typename std::enable_if<B, T>::type;
// An enable_if helper to be used in template parameters which results in much // enable_if helpers to be used in template parameters which results in much
// shorter symbols: https://godbolt.org/z/sWw4vP. // shorter symbols: https://godbolt.org/z/sWw4vP.
#define FMT_ENABLE_IF(...) enable_if_t<__VA_ARGS__, int> = 0 // Also include fix for VS2019 compilation issue (see #1140 and #1186).
#define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0
namespace internal { namespace internal {
......
...@@ -674,7 +674,8 @@ template <int GRISU_VERSION> struct grisu_shortest_handler { ...@@ -674,7 +674,8 @@ template <int GRISU_VERSION> struct grisu_shortest_handler {
} }
}; };
template <typename Double, enable_if_t<sizeof(Double) == sizeof(uint64_t), int>> template <typename Double,
enable_if_t<(sizeof(Double) == sizeof(uint64_t)), int>>
FMT_API bool grisu_format(Double value, buffer<char>& buf, int precision, FMT_API bool grisu_format(Double value, buffer<char>& buf, int precision,
unsigned options, int& exp) { unsigned options, int& exp) {
FMT_ASSERT(value >= 0, "value is negative"); FMT_ASSERT(value >= 0, "value is negative");
......
...@@ -2246,7 +2246,7 @@ FMT_CONSTEXPR bool do_check_format_string(basic_string_view<Char> s, ...@@ -2246,7 +2246,7 @@ FMT_CONSTEXPR bool do_check_format_string(basic_string_view<Char> s,
} }
template <typename... Args, typename S, template <typename... Args, typename S,
enable_if_t<is_compile_string<S>::value, int>> enable_if_t<(is_compile_string<S>::value), int>>
void check_format_string(S format_str) { void check_format_string(S format_str) {
typedef typename S::char_type char_t; typedef typename S::char_type char_t;
FMT_CONSTEXPR_DECL bool invalid_format = FMT_CONSTEXPR_DECL bool invalid_format =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment