fixup chrono.h with better notes about MSVC workaround

This commit is contained in:
Walter Gray 2020-12-03 20:23:59 -08:00
parent c4c83517a4
commit 60bceae2f4

View File

@ -770,8 +770,8 @@ template <typename Char, typename Rep, typename OutputIt,
OutputIt format_duration_value(OutputIt out, Rep val, int) { OutputIt format_duration_value(OutputIt out, Rep val, int) {
static FMT_CONSTEXPR_DECL const Char format[] = {'{', '}', 0}; static FMT_CONSTEXPR_DECL const Char format[] = {'{', '}', 0};
// Workaround a compiler error in MSVC <= 16.8.2 // Note(12/3/2020): Workaround an as-of-yet unfixed compiler error in MSVC.
#if FMT_MSC_VER && FMT_MSC_VER <= 1928 #if FMT_MSC_VER
return vformat_to(out, to_string_view(format), return vformat_to(out, to_string_view(format),
make_format_args<buffer_context<Char>>(val)); make_format_args<buffer_context<Char>>(val));
#else #else
@ -821,7 +821,7 @@ OutputIt format_duration_unit(OutputIt out) {
return copy_unit(string_view(unit), out, Char()); return copy_unit(string_view(unit), out, Char());
static FMT_CONSTEXPR_DECL const Char num_f[] = {'[', '{', '}', ']', 's', 0}; static FMT_CONSTEXPR_DECL const Char num_f[] = {'[', '{', '}', ']', 's', 0};
if (const_check(Period::den == 1)) { if (const_check(Period::den == 1)) {
#if FMT_MSC_VER && FMT_MSC_VER <= 1928 #if FMT_MSC_VER
return vformat_to(out, to_string_view(num_f), return vformat_to(out, to_string_view(num_f),
make_format_args<buffer_context<Char>>(Period::num)); make_format_args<buffer_context<Char>>(Period::num));
#else #else
@ -830,7 +830,7 @@ OutputIt format_duration_unit(OutputIt out) {
} }
static FMT_CONSTEXPR_DECL const Char num_def_f[] = {'[', '{', '}', '/', '{', static FMT_CONSTEXPR_DECL const Char num_def_f[] = {'[', '{', '}', '/', '{',
'}', ']', 's', 0}; '}', ']', 's', 0};
#if FMT_MSC_VER && FMT_MSC_VER <= 1928 #if FMT_MSC_VER
return vformat_to( return vformat_to(
out, to_string_view(num_def_f), out, to_string_view(num_def_f),
make_format_args<buffer_context<Char>>(Period::num, Period::den)); make_format_args<buffer_context<Char>>(Period::num, Period::den));