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:
parent
c39eef71a7
commit
567bfb3779
@ -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());
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user