Browse Source

Autodetect C++ version using __cplusplus value, issue #62

Christophe Riccio 12 years ago
parent
commit
356e70e653
1 changed files with 5 additions and 6 deletions
  1. 5 6
      glm/core/setup.hpp

+ 5 - 6
glm/core/setup.hpp

@@ -432,20 +432,19 @@
 #elif(defined(GLM_FORCE_CXX98))
 #elif(defined(GLM_FORCE_CXX98))
 #	define GLM_LANG GLM_LANG_CXX98
 #	define GLM_LANG GLM_LANG_CXX98
 #else
 #else
-//  -std=c++0x or -std=gnu++0x
-#	if(((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) && defined(__GXX_EXPERIMENTAL_CXX0X__)) 
+#	if(__cplusplus >= 201103L)
+#		define GLM_LANG GLM_LANG_CXX11
+#	elif(((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) && defined(__GXX_EXPERIMENTAL_CXX0X__)) 
 #		define GLM_LANG GLM_LANG_CXX0X
 #		define GLM_LANG GLM_LANG_CXX0X
 #	elif(((GLM_COMPILER & GLM_COMPILER_VC) == GLM_COMPILER_VC) && defined(_MSC_EXTENSIONS))
 #	elif(((GLM_COMPILER & GLM_COMPILER_VC) == GLM_COMPILER_VC) && defined(_MSC_EXTENSIONS))
 #		define GLM_LANG GLM_LANG_CXXMS
 #		define GLM_LANG GLM_LANG_CXXMS
 #	elif(((GLM_COMPILER & GLM_COMPILER_VC) == GLM_COMPILER_VC) && !defined(_MSC_EXTENSIONS))
 #	elif(((GLM_COMPILER & GLM_COMPILER_VC) == GLM_COMPILER_VC) && !defined(_MSC_EXTENSIONS))
-#		if(GLM_COMPILER >= GLM_COMPILER_VC2010)
+#		if(GLM_COMPILER == GLM_COMPILER_VC2010)
 #			define GLM_LANG GLM_LANG_CXX0X
 #			define GLM_LANG GLM_LANG_CXX0X
 #		else
 #		else
 #			define GLM_LANG GLM_LANG_CXX98
 #			define GLM_LANG GLM_LANG_CXX98
 #		endif//(GLM_COMPILER == GLM_COMPILER_VC2010)
 #		endif//(GLM_COMPILER == GLM_COMPILER_VC2010)
-#	elif((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) //&& defined(__STRICT_ANSI__))
-#		define GLM_LANG GLM_LANG_CXX98
-#	elif((GLM_COMPILER & GLM_COMPILER_CLANG) == GLM_COMPILER_CLANG) 
+#	elif(__cplusplus >= 199711L)
 #		define GLM_LANG GLM_LANG_CXX98
 #		define GLM_LANG GLM_LANG_CXX98
 #	else
 #	else
 #		define GLM_LANG GLM_LANG_CXX
 #		define GLM_LANG GLM_LANG_CXX