Browse Source

Fixed C++11 explicit conversion operators detection #282

Christophe Riccio 11 years ago
parent
commit
38d99978ab
2 changed files with 4 additions and 2 deletions
  1. 1 1
      glm/detail/setup.hpp
  2. 3 1
      glm/gtc/quaternion.inl

+ 1 - 1
glm/detail/setup.hpp

@@ -512,7 +512,7 @@
 	((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
 	((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) || \
 	((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14))) || \
 	((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14))) || \
 	((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC45)) || \
 	((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC45)) || \
-	__has_feature(cxx_explicit_conversions)
+	__has_feature(cxx_explicit_conversions))
 
 
 #define GLM_HAS_STL_ARRAY ( \
 #define GLM_HAS_STL_ARRAY ( \
 	(GLM_LANG & GLM_LANG_CXX11_FLAG) || \
 	(GLM_LANG & GLM_LANG_CXX11_FLAG) || \

+ 3 - 1
glm/gtc/quaternion.inl

@@ -190,7 +190,8 @@ namespace detail
 	{
 	{
 		*this = quat_cast(m);
 		*this = quat_cast(m);
 	}
 	}
-	
+
+#	if GLM_HAS_EXPLICIT_CONVERSION_OPERATORS
 	template <typename T, precision P>
 	template <typename T, precision P>
 	GLM_FUNC_QUALIFIER tquat<T, P>::operator tmat3x3<T, P>()
 	GLM_FUNC_QUALIFIER tquat<T, P>::operator tmat3x3<T, P>()
 	{
 	{
@@ -202,6 +203,7 @@ namespace detail
 	{
 	{
 		return mat4_cast(*this);
 		return mat4_cast(*this);
 	}
 	}
+#	endif//GLM_HAS_EXPLICIT_CONVERSION_OPERATORS
 
 
 	template <typename T, precision P>
 	template <typename T, precision P>
 	GLM_FUNC_QUALIFIER tquat<T, P> conjugate(tquat<T, P> const & q)
 	GLM_FUNC_QUALIFIER tquat<T, P> conjugate(tquat<T, P> const & q)