shithub: opus

Download patch

ref: 27a0a5fa463230843322843b7191ff2ccefb0f5d
parent: a7df96343780562a535edb99bcf1291051bf1083
author: Gregory Maxwell <[email protected]>
date: Fri Jul 6 21:53:06 EDT 2012

Avoid using win32 lrintf ASM on mingw even when config.h is broken.

--- a/celt/float_cast.h
+++ b/celt/float_cast.h
@@ -90,7 +90,7 @@
 #include <math.h>
 #define float2int(x) lrint(x)
 
-#elif (defined (WIN64) || defined (_WIN64))
+#elif (_MSC_VER >= 1400) && (defined (WIN64) || defined (_WIN64))
         #include <xmmintrin.h>
 
         __inline long int float2int(float value)
@@ -97,7 +97,7 @@
         {
                 return _mm_cvtss_si32(_mm_load_ss(&value));
         }
-#elif (defined (WIN32) || defined (_WIN32))
+#elif (_MSC_VER >= 1400) && (defined (WIN32) || defined (_WIN32))
         #include <math.h>
 
         /*      Win32 doesn't seem to have these functions.