Fix compilation with intel compilers (ICC/ICPC) v14.0

This commit is contained in:
Guillaume Fraux 2018-09-26 13:22:49 +00:00 committed by Victor Zverovich
parent 4cf21f58b2
commit e864acfdbd
3 changed files with 5 additions and 3 deletions

View File

@ -89,7 +89,8 @@
# endif
#endif
#if FMT_HAS_FEATURE(cxx_explicit_conversions) || FMT_MSC_VER >= 1800
#if FMT_HAS_FEATURE(cxx_explicit_conversions) || \
FMT_GCC_VERSION >= 405 || FMT_MSC_VER >= 1800
# define FMT_EXPLICIT explicit
#else
# define FMT_EXPLICIT

View File

@ -2164,7 +2164,8 @@ FMT_CONSTEXPR void parse_format_string(
}
Handler &handler_;
} write{handler};
auto begin = format_str.data(), end = begin + format_str.size();
auto begin = format_str.data();
auto end = begin + format_str.size();
while (begin != end) {
// Doing two passes with memchr (one for '{' and another for '}') is up to
// 2.5x faster than the naive one-pass implementation on big format strings.

View File

@ -1583,7 +1583,7 @@ struct explicitly_convertible_to_string_like {
typename String,
typename = typename std::enable_if<
std::is_constructible<String, const char*, std::size_t>::value>::type>
explicit operator String() const { return String("foo", 3u); }
FMT_EXPLICIT operator String() const { return String("foo", 3u); }
};
TEST(FormatterTest, FormatExplicitlyConvertibleToStringLike) {