diff --git a/glm/core/intrinsic_common.inl b/glm/core/intrinsic_common.inl index 4b76d4d8..f9ad0f34 100644 --- a/glm/core/intrinsic_common.inl +++ b/glm/core/intrinsic_common.inl @@ -29,6 +29,9 @@ namespace glm{ namespace detail{ +#pragma warning(push) +#pragma warning(disable : 4510 4512 4610) + union ieee754_QNAN { const float f; @@ -40,6 +43,8 @@ namespace detail{ ieee754_QNAN() : f(0.0)/*, mantissa(0x7FFFFF), exp(0xFF), sign(0x0)*/ {} }; +#pragma warning(pop) + static const __m128 GLM_VAR_USED zero = _mm_setzero_ps(); static const __m128 GLM_VAR_USED one = _mm_set_ps1(1.0f); static const __m128 GLM_VAR_USED minus_one = _mm_set_ps1(-1.0f); diff --git a/glm/core/type_half.inl b/glm/core/type_half.inl index 68c333ad..5d482ef2 100644 --- a/glm/core/type_half.inl +++ b/glm/core/type_half.inl @@ -60,7 +60,7 @@ namespace detail // detail::uif result; - result.i = s << 31; + result.i = (unsigned int)(s << 31); return result.f; } else @@ -88,7 +88,7 @@ namespace detail // uif result; - result.i = (s << 31) | 0x7f800000; + result.i = (unsigned int)((s << 31) | 0x7f800000); return result.f; } else @@ -98,7 +98,7 @@ namespace detail // uif result; - result.i = (s << 31) | 0x7f800000 | (m << 13); + result.i = (unsigned int)((s << 31) | 0x7f800000 | (m << 13)); return result.f; } } @@ -115,7 +115,7 @@ namespace detail // uif Result; - Result.i = (s << 31) | (e << 23) | m; + Result.i = (unsigned int)((s << 31) | (e << 23) | m); return Result.f; } @@ -123,7 +123,7 @@ namespace detail { uif Entry; Entry.f = f; - int i = Entry.i; + int i = (int)Entry.i; // // Our floating point number, f, is represented by the bit diff --git a/glm/gtx/ulp.inl b/glm/gtx/ulp.inl index a2ac95d4..0317e431 100644 --- a/glm/gtx/ulp.inl +++ b/glm/gtx/ulp.inl @@ -21,6 +21,9 @@ * ==================================================== */ +#pragma warning(push) +#pragma warning(disable : 4127) + typedef union { float value; @@ -168,6 +171,8 @@ namespace detail }//namespace detail }//namespace glm +#pragma warning(pop) + #if(GLM_COMPILER & GLM_COMPILER_VC) # define GLM_NEXT_AFTER_FLT(x, toward) glm::detail::nextafterf((x), (toward)) # define GLM_NEXT_AFTER_DBL(x, toward) _nextafter((x), (toward)) diff --git a/readme.txt b/readme.txt index cc5f4d3a..907d45dd 100644 --- a/readme.txt +++ b/readme.txt @@ -44,6 +44,12 @@ GLM 0.9.3.0: 2011-XX-XX - Removed many unused namespaces - Fixed half based type contructors +================================================================================ +GLM 0.9.2.6: 2011-10-01 +-------------------------------------------------------------------------------- +- Fixed half based type build on old GCC +- Fixed /W4 warnings on Visual C++ + ================================================================================ GLM 0.9.2.5: 2011-09-20 --------------------------------------------------------------------------------