diff options
author | Derek Mauro <dmauro@google.com> | 2022-12-12 13:15:40 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-12-12 13:16:33 -0800 |
commit | 553491a54cdb842ab583942e1058cbdcedd32018 (patch) | |
tree | 07dc831effb7532023a0582a799838858baab13c /absl | |
parent | b23ae860ba864e4224aab7f7073d7d0d60f05a43 (diff) |
Only build the section of flag_benchmark used for viewing the
disassembly under LLVM. Due to the issue described in
https://github.com/abseil/abseil-cpp/issues/1340 and
https://github.com/google/benchmark/commit/8545dfb3ea301f5c77626a046d4756ef9f2e4970
it no longer builds under GCC.
The other changes are necessary to fix the build using the latest benchmark snapshot
Fixes #1340
PiperOrigin-RevId: 494809290
Change-Id: I4a03b2e2dcbdc273e59f1f09f204322e388e7cea
Diffstat (limited to 'absl')
-rw-r--r-- | absl/flags/flag_benchmark.cc | 5 | ||||
-rw-r--r-- | absl/numeric/bits_benchmark.cc | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/absl/flags/flag_benchmark.cc b/absl/flags/flag_benchmark.cc index fc572d9c..758a6a55 100644 --- a/absl/flags/flag_benchmark.cc +++ b/absl/flags/flag_benchmark.cc @@ -241,10 +241,11 @@ BENCHMARK(BM_ThreadedFindCommandLineFlag)->ThreadRange(1, 16); } // namespace +#ifdef __llvm__ +// To view disassembly use: gdb ${BINARY} -batch -ex "disassemble /s $FUNC" #define InvokeGetFlag(T) \ T AbslInvokeGetFlag##T() { return absl::GetFlag(SINGLE_FLAG(T)); } \ int odr##T = (benchmark::DoNotOptimize(AbslInvokeGetFlag##T), 1); BENCHMARKED_TYPES(InvokeGetFlag) - -// To veiw disassembly use: gdb ${BINARY} -batch -ex "disassemble /s $FUNC" +#endif // __llvm__ diff --git a/absl/numeric/bits_benchmark.cc b/absl/numeric/bits_benchmark.cc index 719bfa81..1b7f35dd 100644 --- a/absl/numeric/bits_benchmark.cc +++ b/absl/numeric/bits_benchmark.cc @@ -34,7 +34,7 @@ static void BM_bitwidth(benchmark::State& state) { values.push_back(absl::Uniform<T>(rng, 0, std::numeric_limits<T>::max())); } - while (state.KeepRunningBatch(count)) { + while (state.KeepRunningBatch(static_cast<int64_t>(count))) { for (size_t i = 0; i < count; ++i) { benchmark::DoNotOptimize(values[i]); } @@ -56,7 +56,7 @@ static void BM_bitwidth_nonzero(benchmark::State& state) { values.push_back(absl::Uniform<T>(rng, 1, std::numeric_limits<T>::max())); } - while (state.KeepRunningBatch(count)) { + while (state.KeepRunningBatch(static_cast<int64_t>(count))) { for (size_t i = 0; i < count; ++i) { const T value = values[i]; ABSL_ASSUME(value > 0); |