diff --git a/glm/detail/func_geometric.inl b/glm/detail/func_geometric.inl index 5cd51dd6..d83a965c 100644 --- a/glm/detail/func_geometric.inl +++ b/glm/detail/func_geometric.inl @@ -171,6 +171,6 @@ namespace detail } }//namespace glm -#if GLM_ARCH != GLM_ARCH_PURE +#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS # include "func_geometric_simd.inl" #endif diff --git a/glm/detail/func_geometric_simd.inl b/glm/detail/func_geometric_simd.inl index eed46434..56962601 100644 --- a/glm/detail/func_geometric_simd.inl +++ b/glm/detail/func_geometric_simd.inl @@ -3,20 +3,18 @@ namespace glm{ namespace detail { -# if GLM_HAS_UNRESTRICTED_UNIONS - template <> - struct compute_dot + template + struct compute_dot + { + GLM_FUNC_QUALIFIER static float call(tvec4 const& x, tvec4 const& y) { - GLM_FUNC_QUALIFIER static float call(tvec4 const& x, tvec4 const& y) - { - __m128 const dot0 = glm_dot_ss(x.data, y.data); + __m128 const dot0 = glm_dot_ss(x.data, y.data); - float Result = 0; - _mm_store_ss(&Result, dot0); - return Result; - } - }; -# endif//GLM_HAS_UNRESTRICTED_UNIONS + float Result = 0; + _mm_store_ss(&Result, dot0); + return Result; + } + }; }//namespace detail }//namespace glm diff --git a/glm/detail/func_matrix.inl b/glm/detail/func_matrix.inl index d1be5a58..5e27f660 100644 --- a/glm/detail/func_matrix.inl +++ b/glm/detail/func_matrix.inl @@ -186,7 +186,7 @@ namespace detail } }; - template