From f4d8884af1ab596853f46efd4e85e2c6536e7337 Mon Sep 17 00:00:00 2001 From: Ingo van Lil Date: Mon, 2 Nov 2015 19:14:47 +0100 Subject: [PATCH] Add casts to fix warnings with -Wconversion --- format.cc | 2 +- format.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/format.cc b/format.cc index aad169eb..962c4705 100644 --- a/format.cc +++ b/format.cc @@ -1265,7 +1265,7 @@ FMT_FUNC void fmt::print(std::ostream &os, CStringRef format_str, ArgList args) FMT_FUNC void fmt::print_colored(Color c, CStringRef format, ArgList args) { char escape[] = "\x1b[30m"; - escape[3] = '0' + static_cast(c); + escape[3] = static_cast('0' + c); std::fputs(escape, stdout); print(format, args); std::fputs(RESET_COLOR, stdout); diff --git a/format.h b/format.h index c132352c..861c7ce7 100644 --- a/format.h +++ b/format.h @@ -778,7 +778,7 @@ inline void format_decimal(Char *buffer, UInt value, unsigned num_digits) { // Integer division is slow so do it for a group of two digits instead // of for every digit. The idea comes from the talk by Alexandrescu // "Three Optimization Tips for C++". See speed-test for a comparison. - unsigned index = (value % 100) * 2; + unsigned index = static_cast((value % 100) * 2); value /= 100; *--buffer = Data::DIGITS[index + 1]; *--buffer = Data::DIGITS[index]; @@ -2330,7 +2330,7 @@ void BasicWriter::write_int(T value, Spec spec) { Char *p = get(prepare_int_buffer(num_digits, spec, prefix, prefix_size)); n = abs_value; do { - *p-- = '0' + (n & 1); + *p-- = static_cast('0' + (n & 1)); } while ((n >>= 1) != 0); break; } @@ -2345,7 +2345,7 @@ void BasicWriter::write_int(T value, Spec spec) { Char *p = get(prepare_int_buffer(num_digits, spec, prefix, prefix_size)); n = abs_value; do { - *p-- = '0' + (n & 7); + *p-- = static_cast('0' + (n & 7)); } while ((n >>= 3) != 0); break; } @@ -2810,7 +2810,7 @@ class FormatInt { // Integer division is slow so do it for a group of two digits instead // of for every digit. The idea comes from the talk by Alexandrescu // "Three Optimization Tips for C++". See speed-test for a comparison. - unsigned index = (value % 100) * 2; + unsigned index = static_cast((value % 100) * 2); value /= 100; *--buffer_end = internal::Data::DIGITS[index + 1]; *--buffer_end = internal::Data::DIGITS[index];