Vc issue with c++17
See https://gitlab.dune-project.org/core/dune-common/-/jobs/21149
[ 28%] Building CXX object dune/common/test/CMakeFiles/concept.dir/concept.cc.o
In file included from /usr/include/Vc/vector.h:252:0,
from /usr/include/Vc/Vc:30,
from /builds/core/dune-common/dune/common/test/fmatrixtest.cc:19:
/usr/include/Vc/common/algorithms.h: In function 'Vc_1::enable_if<(! std::is_arithmetic<typename InputIt::value_type>::value), UnaryFunction> Vc_1::simd_for_each_n(InputIt, std::size_t, UnaryFunction)':
/usr/include/Vc/common/algorithms.h:204:17: error: 'for_each_n' is not a member of 'std'
return std::for_each_n(first, count, std::move(f));
^~~~~~~~~~
/usr/include/Vc/common/algorithms.h:204:17: note: suggested alternative: 'for_each'
return std::for_each_n(first, count, std::move(f));
^~~~~~~~~~
for_each
Apparently, Vc/common/algorithms.h
should include <algorithm>
so std::for_each_n()
is declared. This is only a problem with c++17 because that code portion is inside an #ifdef Vc_CXX17
.
Although this is probably an issue in Vc (1.3.2), we're going to have to work around it somehow, since 1.3.2 is packaged...
See also: infrastructure/issues0#44 (closed)