include,auxiliary: Remove support for MSVC older then 2008.
authorJose Fonseca <jfonseca@vmware.com>
Thu, 26 Feb 2015 11:47:46 +0000 (11:47 +0000)
committerJose Fonseca <jfonseca@vmware.com>
Thu, 26 Feb 2015 16:53:16 +0000 (16:53 +0000)
MSVC 2008 (shipped with Windows SDK 7.0.7600) is the oldest we
need to support.  At least on llvmpipe, gallium/auxiliary, and util
modules.  For the remaining modules (particular all OpenGL specific
code) can be built with MSVC 2013.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
include/c99_compat.h
include/c99_math.h
src/gallium/auxiliary/util/u_math.h
src/gallium/auxiliary/util/u_sse.h

index e5d0ae43a501d954b12065b64804165083034b08..f56f6f326f83ff7f58314fb46727dfdc06078e79 100644 (file)
  * MSVC hacks.
  */
 #if defined(_MSC_VER)
+
+#  if _MSC_VER < 1500
+#    error "Microsoft Visual Studio 2008 or higher required"
+#  endif
+
    /*
     * Visual Studio 2012 will complain if we define the `inline` keyword, but
     * actually it only supports the keyword on C++.
 #  elif defined(__GNUC__)
 #    define __func__ __FUNCTION__
 #  elif defined(_MSC_VER)
-#    if _MSC_VER >= 1300
-#      define __func__ __FUNCTION__
-#    else
-#      define __func__ "<unknown>"
-#    endif
+#    define __func__ __FUNCTION__
 #  else
 #    define __func__ "<unknown>"
 #  endif
index 9e31d0693b66440b17db865de3c79d9e65628154..5d4f5359db413a52c0614ff01a7f8e6a0d3adfcb 100644 (file)
 
 #if defined(_MSC_VER)
 
-#if _MSC_VER < 1400 && !defined(__cplusplus)
-
-static inline float cosf( float f )
-{
-   return (float) cos( (double) f );
-}
-
-static inline float sinf( float f )
-{
-   return (float) sin( (double) f );
-}
-
-static inline float ceilf( float f )
-{
-   return (float) ceil( (double) f );
-}
-
-static inline float floorf( float f )
-{
-   return (float) floor( (double) f );
-}
-
-static inline float powf( float f, float g )
-{
-   return (float) pow( (double) f, (double) g );
-}
-
-static inline float sqrtf( float f )
-{
-   return (float) sqrt( (double) f );
-}
-
-static inline float fabsf( float f )
-{
-   return (float) fabs( (double) f );
-}
-
-static inline float logf( float f )
-{
-   return (float) log( (double) f );
-}
-
-static inline float frexpf(float x, int *exp)
-{
-   return (float) frexp(x, exp);
-}
-
-static inline float ldexpf(float x, int exp)
-{
-   return (float) ldexp(x, exp);
-}
-
-static inline float logf(float x)
-{
-   return (float) log(x);
-}
-
-static inline float expf(float x)
-{
-   return (float) exp(x);
-}
-
-
-#else
-/* Work-around an extra semi-colon in VS 2005 logf definition */
-#ifdef logf
-#undef logf
-#define logf(x) ((float)log((double)(x)))
-#endif /* logf */
-
 #if _MSC_VER < 1800
 #define isfinite(x) _finite((double)(x))
 #define isnan(x) _isnan((double)(x))
 #endif /* _MSC_VER < 1800 */
-#endif /* _MSC_VER < 1400 && !defined(__cplusplus) */
 
 #if _MSC_VER < 1800
 static inline double log2( double x )
index b4a65e4d5fa79c3b3f758f8a33432a061888b849..959f76e1dd81e89bd6e0b047bbcf464c24824f34 100644 (file)
@@ -356,7 +356,7 @@ util_half_inf_sign(int16_t x)
 #ifndef FFS_DEFINED
 #define FFS_DEFINED 1
 
-#if defined(_MSC_VER) && _MSC_VER >= 1300 && (_M_IX86 || _M_AMD64 || _M_IA64)
+#if defined(_MSC_VER) && (_M_IX86 || _M_AMD64 || _M_IA64)
 unsigned char _BitScanForward(unsigned long* Index, unsigned long Mask);
 #pragma intrinsic(_BitScanForward)
 static INLINE
index 642f96eb77115125685233a451a18083e1e503fa..d4f51912a2de3306d1f4641f9db1d26c44457bb3 100644 (file)
 #include <emmintrin.h>
 
 
-/* MSVC before VC8 does not support the _mm_castxxx_yyy */
-#if defined(_MSC_VER) && _MSC_VER < 1500
-
-union __declspec(align(16)) m128_types {
-   __m128 m128;
-   __m128i m128i;
-   __m128d m128d;
-};
-
-static __inline __m128
-_mm_castsi128_ps(__m128i a)
-{
-   union m128_types u;
-   u.m128i = a;
-   return u.m128;
-}
-
-static __inline __m128i
-_mm_castps_si128(__m128 a)
-{
-   union m128_types u;
-   u.m128 = a;
-   return u.m128i;
-}
-
-#endif /* defined(_MSC_VER) && _MSC_VER < 1500 */
-
 union m128i {
    __m128i m;
    ubyte ub[16];