referenceelements.cc does not compile with ICC 16
I'm trying to build the core modules' release/2.5 branches on supermuc with icc 16.0.4 and get:
[ 14%] Building CXX object lib/CMakeFiles/dunegeometry.dir/__/dune/geometry/referenceelements.cc.o
cd $HOME/gdt-phase1/dune-geometry/lib && /lrz/sys/parallel/mpi.ibm/pecurrent/intel/bin/mpicc -DHAVE_CONFIG_H -I$HOME/gdt-phase1/dune-geometry -I$HOME/main_gdt/dune-geometry -I/opt/ibmhpc/pecurrent/mpich2/intel/include64 -I/opt/ibmhpc/pecurrent/base/include -I$HOME/main_gdt/dune-common -DNDEBUG -std=c++11 -g -w -openmp -O3 -ftz -xHost -ipo -no-prec-div -std=c++14 -O2 -g -DNDEBUG -o CMakeFiles/dunegeometry.dir/__/dune/geometry/referenceelements.cc.o -c $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
$HOME/main_gdt/dune-common/dune/common/std/utility.hh(99): error: expression must have a constant value
using index_sequence_for = make_index_sequence<typename Dune::SizeOf<T...>{}>;
^
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
/lrz/mnt/sys.x86_64/compilers/gcc/5.4.0/bin/../include/c++/5.4.0/utility(215): error: name followed by "::" must be a class or namespace name
typedef typename _Build_index_tuple<_Num - 1>::__type::__next __type;
^
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
detected during:
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
instantiation of class "std::_Build_index_tuple<_Num> [with _Num=<error-constant>]" at line 237
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
processing of template argument list for "std::_Make_integer_sequence" based on template arguments <std::size_t={unsigned long}, <error-constant>> at line 252
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
instantiation of type "std::make_integer_sequence<std::size_t={unsigned long}, <error-constant>>" at line 260
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
instantiation of type "std::make_index_sequence<<error-constant>>" at line 99 of "$HOME/main_gdt/dune-common/dune/common/std/utility.hh"
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
/lrz/mnt/sys.x86_64/compilers/gcc/5.4.0/bin/../include/c++/5.4.0/utility(252): error: incomplete type is not allowed
= typename _Make_integer_sequence<_Tp, _Num>::__type;
^
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
detected during:
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
instantiation of type "std::make_integer_sequence<std::size_t={unsigned long}, <error-constant>>" at line 260
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
instantiation of type "std::make_index_sequence<<error-constant>>" at line 99 of "$HOME/main_gdt/dune-common/dune/common/std/utility.hh"
In file included from $HOME/main_gdt/dune-common/dune/common/streamoperators.hh(15),
from $HOME/main_gdt/dune-common/dune/common/array.hh(13),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.hh(14),
from $HOME/main_gdt/dune-geometry/dune/geometry/referenceelements.cc(5):
make[2]: *** [lib/CMakeFiles/dunegeometry.dir/__/dune/geometry/referenceelements.cc.o] Error 2
make[2]: Leaving directory `$HOME/gdt-phase1/dune-geometry'
make[1]: *** [lib/CMakeFiles/dunegeometry.dir/all] Error 2
make[1]: Leaving directory `$HOME/gdt-phase1/dune-geometry'
make: *** [all] Error 2