Fix T37987: MSVC 2013 has C99 headers and warns for out define hypot _hypot for good...
authorMartijn Berger <martijn.berger@gmail.com>
Thu, 2 Jan 2014 21:19:10 +0000 (22:19 +0100)
committerMartijn Berger <martijn.berger@gmail.com>
Thu, 2 Jan 2014 21:19:10 +0000 (22:19 +0100)
intern/cycles/util/util_math.h
intern/iksolver/intern/TNT/tntmath.h
intern/smoke/intern/tnt/tnt_math_utils.h
source/blender/blenlib/BLI_math_base.h

index 851c67b..fdee1e9 100644 (file)
@@ -78,7 +78,7 @@ CCL_NAMESPACE_BEGIN
 
 #ifndef __KERNEL_GPU__
 
-#if(!defined(FREE_WINDOWS))
+#if (!defined(FREE_WINDOWS)) && (_MSC_VER < 1800)
 #define copysignf(x, y) ((float)_copysign(x, y))
 #define hypotf(x, y) _hypotf(x, y)
 #define isnan(x) _isnan(x)
index a1fef28..d55acb0 100644 (file)
@@ -34,7 +34,7 @@
 
 // conventional functions required by several matrix algorithms
 
-#ifdef _WIN32
+#if (defined _WIN32) && (_MSC_VER < 1800)
 #define hypot _hypot
 #endif
 
index e0bf483..d96a0ae 100644 (file)
@@ -7,7 +7,7 @@
 /* needed for fabs, sqrt() below */
 #include <cmath>
 
-#ifdef _WIN32
+#if (defined _WIN32) && (_MSC_VER < 1800)
 #define hypot _hypot
 #endif
 
index 99d9397..e2a5672 100644 (file)
@@ -143,20 +143,27 @@ static const int NAN_INT = 0x7FC00000;
 #define copysignf(a, b) ((float)copysign(a, b))
 #endif
 
-#endif  /* C99 or POSIX.1-2001 */
+#else /* C99 or POSIX.1-2001 */
 
 #ifdef WIN32
 #  ifndef FREE_WINDOWS
 #    ifndef isnan
 #              define isnan(n) _isnan(n)
 #       endif
-#    define finite _finite
 #    ifndef hypot
 #              define hypot(a, b) _hypot(a, b)
 #      endif
 #  endif
 #endif
 
+#endif  /* C99 or POSIX.1-2001 */
+
+#ifdef WIN32
+#  ifndef FREE_WINDOWS
+#    define finite _finite
+#  endif
+#endif
+
 /* Causes warning:
  * incompatible types when assigning to type 'Foo' from type 'Bar'
  * ... the compiler optimizes away the temp var */