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;
}
size_t Benchmark::MaxNameColumnWidth() {
size_t max = 20;
int Benchmark::MaxNameColumnWidth() {
int max = 20;
for (auto& benchmark : List()) {
max = std::max(max, benchmark->NameColumnWidth());
}

View File

@ -47,10 +47,10 @@ public:
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 @@ protected:
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 @@ public:
}
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;
}