diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkFloatingPoint.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/core/SkFloatingPoint.h b/include/core/SkFloatingPoint.h index 93d479cf87..2df8f9bf65 100644 --- a/include/core/SkFloatingPoint.h +++ b/include/core/SkFloatingPoint.h @@ -31,7 +31,9 @@ static inline float sk_float_pow(float base, float exp) { static inline float sk_float_copysign(float x, float y) { // c++11 contains a 'float copysign(float, float)' function in <cmath>. -#if (!defined(_MSC_VER) && __cplusplus >= 201103L) || (defined(_MSC_VER) && _MSC_VER >= 1800) +// clang-cl reports __cplusplus for clang, not the __cplusplus vc++ version _MSC_VER would report. +#define SK_BUILD_WITH_CLANG_CL (defined(_MSC_VER) && defined(__clang__)) +#if (!SK_BUILD_WITH_CLANG_CL && __cplusplus >= 201103L) || (defined(_MSC_VER) && _MSC_VER >= 1800) return copysign(x, y); // Posix has demanded 'float copysignf(float, float)' (from C99) since Issue 6. |