forked from OSchip/llvm-project
[benchmark] Fixed a build error when using CMake 3.15.1 + NDK-R20
std::decay_t used by llvm/utils/benchmark/include/benchmark/benchmark.h is a c++14 feature, but the CMakelist uses c++11, it's the root-cause of build error. There are two options to fix the error. 1) change the CMakelist to support c++14. 2) change std::decay_t to std::decay, it's what the patch done. This bug can only be reproduced by CMake 3.15, we didn't observer the bug with CMake 3.16. But based on the code's logic, it's an obvious bug of LLVM. The upstream code is fine, the problem was introduced by rG1bd6123b781120c9190b9ba58b900cdcb718cdd1. Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D93794
This commit is contained in:
parent
d85a198e85
commit
a485a59d21
|
@ -990,7 +990,7 @@ inline internal::Benchmark* RegisterBenchmark(const char* name,
|
|||
#ifdef BENCHMARK_HAS_CXX11
|
||||
template <class Lambda>
|
||||
internal::Benchmark* RegisterBenchmark(const char* name, Lambda&& fn) {
|
||||
using BenchType = internal::LambdaBenchmark<std::decay_t<Lambda>>;
|
||||
using BenchType = internal::LambdaBenchmark<std::decay<Lambda>>;
|
||||
return internal::RegisterBenchmarkInternal(
|
||||
::new BenchType(name, std::forward<Lambda>(fn)));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue