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>
This commit is contained in:
Greg Hackmann 2015-02-20 11:00:14 -08:00
parent c39eef71a7
commit 567bfb3779
2 changed files with 9 additions and 9 deletions

View File

@ -44,8 +44,8 @@ std::vector<Benchmark*>& Benchmark::List() {
return list; return list;
} }
size_t Benchmark::MaxNameColumnWidth() { int Benchmark::MaxNameColumnWidth() {
size_t max = 20; int max = 20;
for (auto& benchmark : List()) { for (auto& benchmark : List()) {
max = std::max(max, benchmark->NameColumnWidth()); max = std::max(max, benchmark->NameColumnWidth());
} }

View File

@ -47,10 +47,10 @@ public:
static std::vector<Benchmark*>& List(); static std::vector<Benchmark*>& List();
static size_t MaxNameColumnWidth(); static int MaxNameColumnWidth();
protected: protected:
virtual size_t NameColumnWidth() = 0; virtual int NameColumnWidth() = 0;
uint64_t bytes_processed_; uint64_t bytes_processed_;
uint64_t total_time_ns_; uint64_t total_time_ns_;
@ -85,8 +85,8 @@ protected:
virtual void Run(int) = 0; virtual void Run(int) = 0;
virtual size_t NameColumnWidth() override { virtual int NameColumnWidth() override {
return Name().size(); return (int)Name().size();
} }
virtual std::string GetNameStr(void *) override; virtual std::string GetNameStr(void *) override;
@ -104,10 +104,10 @@ public:
} }
protected: protected:
virtual size_t NameColumnWidth() override { virtual int NameColumnWidth() override {
size_t max = 0; int max = 0;
for (const auto arg : args_) { for (const auto arg : args_) {
max = std::max(max, GetNameStr(arg).size()); max = std::max(max, (int)GetNameStr(arg).size());
} }
return max; return max;
} }