Michael Goffioul wrote: > Same problem occurs in cbrt.c and cbrtf.c. Fixed. No other occurrences of this problem found so far.
2012-03-13 Bruno Haible <br...@clisp.org> Avoid compilation errors with MSVC option -fp:strict. * lib/cbrt.c: Use MSVC specific pragma fenv_access. * lib/cbrtf.c: Likewise. Reported by Michael Goffioul <michael.goffi...@gmail.com>. --- lib/cbrt.c.orig Tue Mar 13 23:55:56 2012 +++ lib/cbrt.c Tue Mar 13 23:55:34 2012 @@ -22,6 +22,12 @@ /* Specification. */ #include <math.h> +/* MSVC with option -fp:strict refuses to compile constant initializers that + contain floating-point operations. Pacify this compiler. */ +#ifdef _MSC_VER +# pragma fenv_access (off) +#endif + /* Code based on glibc/sysdeps/ieee754/dbl-64/s_cbrt.c. */ #define CBRT2 1.2599210498948731648 /* 2^(1/3) */ --- lib/cbrtf.c.orig Tue Mar 13 23:55:56 2012 +++ lib/cbrtf.c Tue Mar 13 23:55:35 2012 @@ -22,6 +22,12 @@ /* Specification. */ #include <math.h> +/* MSVC with option -fp:strict refuses to compile constant initializers that + contain floating-point operations. Pacify this compiler. */ +#ifdef _MSC_VER +# pragma fenv_access (off) +#endif + /* Code based on glibc/sysdeps/ieee754/flt-32/s_cbrtf.c. */ #define CBRT2 1.2599210498948731648 /* 2^(1/3) */