The file tutorial_context.cpp defines a templated fma function and attempts to instantiate a callable of type fma. However, Clang emits the error:
"candidate template ignored: couldn't infer template argument 'Op'"
This happens because template argument deduction fails for Op, as explained in this LLVM commit.
We can fix this by wrapping fma in a lambda:
- .run("fma", fma<float>);
+ .run("fma", [](){
+ fma<float>();
+ });
bench.context("scalar", "f64")
.context("foo", "baz")
.run("+=", plus_eq<double>)
- .run("fma", fma<double>);
+ .run("fma", [](){
+ fma<double>();
+ });
The file tutorial_context.cpp defines a templated fma function and attempts to instantiate a callable of type fma. However, Clang emits the error:
This happens because template argument deduction fails for Op, as explained in this LLVM commit.
We can fix this by wrapping fma in a lambda: