Avoid compilation errors with MSVC option -fp:strict.
authorBruno Haible <bruno@clisp.org>
Tue, 13 Mar 2012 22:57:11 +0000 (23:57 +0100)
committerBruno Haible <bruno@clisp.org>
Tue, 13 Mar 2012 22:57:11 +0000 (23:57 +0100)
* lib/cbrt.c: Use MSVC specific pragma fenv_access.
* lib/cbrtf.c: Likewise.
Reported by Michael Goffioul <michael.goffioul@gmail.com>.

ChangeLog
lib/cbrt.c
lib/cbrtf.c

index 7d09cef..634e107 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-03-13  Bruno Haible  <bruno@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.goffioul@gmail.com>.
+
 2012-03-12  Bruno Haible  <bruno@clisp.org>
 
        uninorm: Don't crash in out-of-memory conditions.
index d3659f0..d4ca9cb 100644 (file)
 /* 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) */
index 6320d0e..34d6338 100644 (file)
 /* 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) */