fix build warnings with type mismatches and base check helpers
Building with base headers in a SLOT-ed setup exposes build warnings
(which causes failures due to -Werror). One such example:
In file included from extent_writer.h:9:0,
from bzip_extent_writer.h:10,
from bzip_extent_writer.cc:5:
.../base/logging.h: In function 'std::string* logging::CheckEQImpl(const t1&, const t2&, const char*)
[with t1 = unsigned int, t2 = int, std::string = std::basic_string<char>]':
bzip_extent_writer.cc:53:7: instantiated from here
.../base/logging.h:512:1: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1plus: all warnings being treated as errors
Explicitly cast the constants to avoid these.
BUG=chromium-os:16623
TEST=`emerge-x86-alex update_engine` builds
Change-Id: If3cc4e85fa54862b14305f9d045c73b5575efaa0
Reviewed-on: https://gerrit.chromium.org/gerrit/16035
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
diff --git a/bzip_extent_writer.cc b/bzip_extent_writer.cc
index e200e2d..9d432c7 100644
--- a/bzip_extent_writer.cc
+++ b/bzip_extent_writer.cc
@@ -50,7 +50,7 @@
output_buffer.size() - stream_.avail_out));
if (rc == BZ_STREAM_END)
- CHECK_EQ(stream_.avail_in, 0);
+ CHECK_EQ(stream_.avail_in, static_cast<unsigned int>(0));
if (stream_.avail_in == 0)
break; // no more input to process
}
diff --git a/cycle_breaker.cc b/cycle_breaker.cc
index 266c2df..8400366 100644
--- a/cycle_breaker.cc
+++ b/cycle_breaker.cc
@@ -87,7 +87,8 @@
void CycleBreaker::HandleCircuit() {
stack_.push_back(current_vertex_);
- CHECK_GE(stack_.size(), 2);
+ CHECK_GE(stack_.size(),
+ static_cast<std::vector<Vertex::Index>::size_type>(2));
Edge min_edge = make_pair(stack_[0], stack_[1]);
uint64_t min_edge_weight = kuint64max;
size_t edges_considered = 0;
diff --git a/delta_diff_generator.cc b/delta_diff_generator.cc
index cc8f352..67b917f 100644
--- a/delta_diff_generator.cc
+++ b/delta_diff_generator.cc
@@ -531,7 +531,7 @@
vector<char> bsdiff_delta;
TEST_AND_RETURN_FALSE(
BsdiffFiles(old_filename, new_filename, &bsdiff_delta));
- CHECK_GT(bsdiff_delta.size(), 0);
+ CHECK_GT(bsdiff_delta.size(), static_cast<vector<char>::size_type>(0));
if (bsdiff_delta.size() < current_best_size) {
operation.set_type(DeltaArchiveManifest_InstallOperation_Type_BSDIFF);
current_best_size = bsdiff_delta.size();
@@ -748,7 +748,8 @@
cuts.back().tmp_extents);
// delete the old edge
- CHECK_EQ(1, (*graph)[it->first].out_edges.erase(it->second));
+ CHECK_EQ(static_cast<Graph::size_type>(1),
+ (*graph)[it->first].out_edges.erase(it->second));
// Add an edge from dst to copy operation
EdgeProperties write_before_edge_properties;
diff --git a/extent_writer.cc b/extent_writer.cc
index baac66c..c28956b 100644
--- a/extent_writer.cc
+++ b/extent_writer.cc
@@ -23,7 +23,7 @@
uint64_t bytes_remaining_next_extent =
extents_[next_extent_index_].num_blocks() * block_size_ -
extent_bytes_written_;
- CHECK_NE(bytes_remaining_next_extent, 0);
+ CHECK_NE(bytes_remaining_next_extent, static_cast<uint64_t>(0));
size_t bytes_to_write =
static_cast<size_t>(min(static_cast<uint64_t>(count - bytes_written),
bytes_remaining_next_extent));
diff --git a/http_fetcher_unittest.cc b/http_fetcher_unittest.cc
index 8814f1a..eb107ef 100644
--- a/http_fetcher_unittest.cc
+++ b/http_fetcher_unittest.cc
@@ -421,7 +421,7 @@
// Make sure that no bytes were received.
CHECK_EQ(delegate.times_received_bytes_called_, 0);
- CHECK_EQ(fetcher->GetBytesDownloaded(), 0);
+ CHECK_EQ(fetcher->GetBytesDownloaded(), static_cast<size_t>(0));
// Make sure that transfer completion was signaled once, and no termination
// was signaled.
diff --git a/metadata.cc b/metadata.cc
index 7dfc787..6b52f29 100644
--- a/metadata.cc
+++ b/metadata.cc
@@ -151,7 +151,7 @@
TEST_AND_RETURN_FALSE(ComputeMetadataBsdiff(old_data,
new_data,
&bsdiff_delta));
- CHECK_GT(bsdiff_delta.size(), 0);
+ CHECK_GT(bsdiff_delta.size(), static_cast<vector<char>::size_type>(0));
if (bsdiff_delta.size() < current_best_size) {
op.set_type(DeltaArchiveManifest_InstallOperation_Type_BSDIFF);
diff --git a/multi_range_http_fetcher.h b/multi_range_http_fetcher.h
index 19982ef..10829cc 100644
--- a/multi_range_http_fetcher.h
+++ b/multi_range_http_fetcher.h
@@ -46,7 +46,7 @@
void ClearRanges() { ranges_.clear(); }
void AddRange(off_t offset, size_t size) {
- CHECK_GT(size, 0);
+ CHECK_GT(size, static_cast<size_t>(0));
ranges_.push_back(Range(offset, size));
}
diff --git a/test_http_server.cc b/test_http_server.cc
index af10968..6257e07 100644
--- a/test_http_server.cc
+++ b/test_http_server.cc
@@ -77,7 +77,7 @@
// Decode URL line.
std::vector<string> terms;
base::SplitStringAlongWhitespace(lines[0], &terms);
- CHECK_EQ(terms.size(), 3);
+ CHECK_EQ(terms.size(), static_cast<vector<string>::size_type>(3));
CHECK_EQ(terms[0], "GET");
request->url = terms[1];
LOG(INFO) << "URL: " << request->url;
@@ -89,7 +89,7 @@
base::SplitStringAlongWhitespace(lines[i], &terms);
if (terms[0] == "Range:") {
- CHECK_EQ(terms.size(), 2);
+ CHECK_EQ(terms.size(), static_cast<vector<string>::size_type>(2));
string &range = terms[1];
LOG(INFO) << "range attribute: " << range;
CHECK(StartsWithASCII(range, "bytes=", true) &&
@@ -108,7 +108,7 @@
base::StringAppendF(&tmp_str, "unspecified");
LOG(INFO) << tmp_str;
} else if (terms[0] == "Host:") {
- CHECK_EQ(terms.size(), 2);
+ CHECK_EQ(terms.size(), static_cast<vector<string>::size_type>(2));
request->host = terms[1];
LOG(INFO) << "host attribute: " << request->host;
} else {
@@ -192,7 +192,7 @@
size_t WritePayload(int fd, const off_t start_offset, const off_t end_offset,
const char first_byte, const size_t line_len) {
CHECK_LE(start_offset, end_offset);
- CHECK_GT(line_len, 0);
+ CHECK_GT(line_len, static_cast<size_t>(0));
LOG(INFO) << "writing payload: " << line_len << "-byte lines starting with `"
<< first_byte << "', offset range " << start_offset << " -> "
@@ -348,7 +348,7 @@
void HandleRedirect(int fd, const HttpRequest& request) {
LOG(INFO) << "Redirecting...";
string url = request.url;
- CHECK_EQ(0, url.find("/redirect/"));
+ CHECK_EQ(static_cast<size_t>(0), url.find("/redirect/"));
url.erase(0, strlen("/redirect/"));
string::size_type url_start = url.find('/');
CHECK_NE(url_start, string::npos);
@@ -439,7 +439,7 @@
public:
UrlTerms(string &url, size_t num_terms) {
// URL must be non-empty and start with a slash.
- CHECK_GT(url.size(), 0);
+ CHECK_GT(url.size(), static_cast<size_t>(0));
CHECK_EQ(url[0], '/');
// Split it into terms delimited by slashes, omitting the preceeding slash.