Fix 64-bit benchmark build
The * flag to printf() wants an int instead of size_t, and these are
distinct types on 64-bit. To accomodate this, make the name column
width helpers return int.
In theory this truncates things, but in practice this only matters if
you have a benchmark with more than INT_MAX characters in its name (in
which case you have bigger problems).
Change-Id: I3338948c25a3a8d84f1ead2f5b457c05da8a01cf
Signed-off-by: Greg Hackmann <ghackmann@google.com>
diff --git a/benchmarks/benchmark/Benchmark.h b/benchmarks/benchmark/Benchmark.h
index 7c208e6..16ae5fa 100644
--- a/benchmarks/benchmark/Benchmark.h
+++ b/benchmarks/benchmark/Benchmark.h
@@ -47,10 +47,10 @@
static std::vector<Benchmark*>& List();
- static size_t MaxNameColumnWidth();
+ static int MaxNameColumnWidth();
protected:
- virtual size_t NameColumnWidth() = 0;
+ virtual int NameColumnWidth() = 0;
uint64_t bytes_processed_;
uint64_t total_time_ns_;
@@ -85,8 +85,8 @@
virtual void Run(int) = 0;
- virtual size_t NameColumnWidth() override {
- return Name().size();
+ virtual int NameColumnWidth() override {
+ return (int)Name().size();
}
virtual std::string GetNameStr(void *) override;
@@ -104,10 +104,10 @@
}
protected:
- virtual size_t NameColumnWidth() override {
- size_t max = 0;
+ virtual int NameColumnWidth() override {
+ int max = 0;
for (const auto arg : args_) {
- max = std::max(max, GetNameStr(arg).size());
+ max = std::max(max, (int)GetNameStr(arg).size());
}
return max;
}