Disable floating point exceptions for clang
When compiling with -O3
clang versions >= 5.0 may
generate code containing auxiliary operations dividing
by zero altough the result is not used. Specifically code like this
for (int i=0; i<=3; i++)
for (int j=0; j<=3; j++)
for (int k=0; k<=3; k++)
if ((m!=i) && (m!=j) && (m!=k))
z += x*(1.0/(m-k))*(1.0/(m-j))*(1.0/(m-i));
should never devide by zero. While the result of the code is correct with clang, it seems to produce additional operations for the ruled out cases where we would devide by zero. For more details see the clang bug: https://bugs.llvm.org/show_bug.cgi?id=40280
The only possible solution on our side is to turn of FP exceptions for clang. This hoefully fixes #13 (closed).