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.
Shouldn't it be typename std::decay<Lambda>::type ?