I am having an issue compiling a project which uses ranges-v3. It complains an expression, which to me looks constant, is not constant.
[ 47%] Building CXX object src/foo.cpp.o
In file included from /home/jjcasmar/usr/local/include/range/v3/view/iota.hpp:29,
from /home/jjcasmar/usr/local/include/range/v3/view/indices.hpp:24,
from /home/jjcasmar/usr/local/include/range/v3/view.hpp:47,
from /home/jjcasmar/projects/project/src/foo.cpp:78:
/home/jjcasmar/usr/local/include/range/v3/iterator/diffmax_t.hpp:372:37: error: ‘(6.5e+1 * 3.0102999600000002e-1)’ is not a constant expression
static_cast<int>(digits * 0.301029996); // digits * std::log10(2)
~~~~~~~^~~~~~~~~~~~~
make[3]: *** [src/deSim/CMakeFiles/deSim.dir/build.make:1389: src/foo.cpp.o] Error 1
This happens using both gcc-8 and gcc-9 compiling with std=gnu++14 and with range-v3 master and 0.9.1 branches.
This used to work, but suddenly it has stopped working. What might be wrong?