CI fails with clang >= 6
Since centralising the CI in 398088b3 it fails for newer clang versions (clang-6.0 on Ubuntu 18.04 and clang-7 on Debian 10):
https://gitlab.dune-project.org/core/dune-localfunctions/pipelines/15022
I can reproduce the problem locally (Ubuntu 18.04, same compiler) using the same compile flags as in the CI setup. -O3
triggers the problem whily -O0
does not.
The problem is a floating point exception which seems to be in a call to ddp
within lagrange/qk/qklocalbasis.hh
triggered by the check of QkLocalFiniteElement<double,double,1,1>
in
lagrangeshapefunctiontest.cc
. Looking at the code I cannot see why there should be a floating point problem as all branches in the function look non-problematic to me. Unfortunately debugging this is hard since many values are optimized out. What's IMHO strange is, that I cannot run the generated file in valgrid due to an vex amd64->IR: unhandled instruction bytes: ...
although the compile flags do not enable any special target architecture/instruction set.