Commit 87545b0a authored by vitaut's avatar vitaut

Merge pull request #28 from jdale88/vslevel4warnings

Fixed some level 4 warnings in VS2013
parents 7592eda4 4cabe162
...@@ -39,6 +39,11 @@ ...@@ -39,6 +39,11 @@
using fmt::ULongLong; using fmt::ULongLong;
#if _MSC_VER
# pragma warning(push)
# pragma warning(disable: 4127) // conditional expression is constant
#endif
namespace { namespace {
#ifndef _MSC_VER #ifndef _MSC_VER
...@@ -237,7 +242,7 @@ void fmt::BasicWriter<Char>::FormatDouble( ...@@ -237,7 +242,7 @@ void fmt::BasicWriter<Char>::FormatDouble(
char sign = 0; char sign = 0;
// Use SignBit instead of value < 0 because the latter is always // Use SignBit instead of value < 0 because the latter is always
// false for NaN. // false for NaN.
if (SignBit(value)) { if (SignBit(static_cast<double>(value))) {
sign = '-'; sign = '-';
value = -value; value = -value;
} else if (spec.sign_flag()) { } else if (spec.sign_flag()) {
...@@ -259,7 +264,7 @@ void fmt::BasicWriter<Char>::FormatDouble( ...@@ -259,7 +264,7 @@ void fmt::BasicWriter<Char>::FormatDouble(
return; return;
} }
if (IsInf(value)) { if (IsInf(static_cast<double>(value))) {
// Format infinity ourselves because sprintf's output is not consistent // Format infinity ourselves because sprintf's output is not consistent
// across platforms. // across platforms.
std::size_t size = 4; std::size_t size = 4;
...@@ -628,7 +633,7 @@ void fmt::BasicFormatter<Char>::DoFormat() { ...@@ -628,7 +633,7 @@ void fmt::BasicFormatter<Char>::DoFormat() {
} else { } else {
out = writer.GrowBuffer(1); out = writer.GrowBuffer(1);
} }
*out = arg.int_value; *out = static_cast<Char>(arg.int_value);
break; break;
} }
case STRING: { case STRING: {
...@@ -667,7 +672,7 @@ void fmt::BasicFormatter<Char>::DoFormat() { ...@@ -667,7 +672,7 @@ void fmt::BasicFormatter<Char>::DoFormat() {
void fmt::ColorWriter::operator()(const fmt::BasicWriter<char> &w) const { void fmt::ColorWriter::operator()(const fmt::BasicWriter<char> &w) const {
char escape[] = "\x1b[30m"; char escape[] = "\x1b[30m";
escape[3] = '0' + color_; escape[3] = '0' + static_cast<char>(color_);
std::fputs(escape, stdout); std::fputs(escape, stdout);
std::fwrite(w.data(), 1, w.size(), stdout); std::fwrite(w.data(), 1, w.size(), stdout);
std::fputs(RESET_COLOR, stdout); std::fputs(RESET_COLOR, stdout);
...@@ -731,3 +736,7 @@ template void fmt::BasicFormatter<wchar_t>::CheckSign( ...@@ -731,3 +736,7 @@ template void fmt::BasicFormatter<wchar_t>::CheckSign(
const wchar_t *&s, const Arg &arg); const wchar_t *&s, const Arg &arg);
template void fmt::BasicFormatter<wchar_t>::DoFormat(); template void fmt::BasicFormatter<wchar_t>::DoFormat();
#if _MSC_VER
# pragma warning(pop)
#endif
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
#if _MSC_VER #if _MSC_VER
# pragma warning(push) # pragma warning(push)
# pragma warning(disable: 4521) # pragma warning(disable: 4521) // 'class' : multiple copy constructors specified
#endif #endif
namespace fmt { namespace fmt {
......
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