|
|
@@ -178,11 +178,11 @@
|
|
|
# ifdef _MSC_EXTENSIONS
|
|
|
# if __cplusplus >= 201402L
|
|
|
# define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_CXXMS_FLAG)
|
|
|
-//# elif GLM_COMPILER >= GLM_COMPILER_VC2015
|
|
|
+//# elif GLM_COMPILER >= GLM_COMPILER_VC14
|
|
|
//# define GLM_LANG (GLM_LANG_CXX1Y | GLM_LANG_CXXMS_FLAG)
|
|
|
# elif __cplusplus >= 201103L
|
|
|
# define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_CXXMS_FLAG)
|
|
|
-# elif GLM_COMPILER >= GLM_COMPILER_VC2010
|
|
|
+# elif GLM_COMPILER >= GLM_COMPILER_VC10
|
|
|
# define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
|
|
|
# elif __cplusplus >= 199711L
|
|
|
# define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
|
|
|
@@ -194,7 +194,7 @@
|
|
|
# define GLM_LANG GLM_LANG_CXX14
|
|
|
# elif __cplusplus >= 201103L
|
|
|
# define GLM_LANG GLM_LANG_CXX11
|
|
|
-# elif GLM_COMPILER >= GLM_COMPILER_VC2010
|
|
|
+# elif GLM_COMPILER >= GLM_COMPILER_VC10
|
|
|
# define GLM_LANG GLM_LANG_CXX0X
|
|
|
# elif __cplusplus >= 199711L
|
|
|
# define GLM_LANG GLM_LANG_CXX98
|
|
|
@@ -288,7 +288,7 @@
|
|
|
#else
|
|
|
# define GLM_HAS_CXX11_STL ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
((GLM_PLATFORM != GLM_PLATFORM_WINDOWS) && (GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15))))
|
|
|
#endif
|
|
|
|
|
|
@@ -299,9 +299,9 @@
|
|
|
# define GLM_HAS_STATIC_ASSERT 1
|
|
|
#else
|
|
|
# define GLM_HAS_STATIC_ASSERT ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2010))))
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC))))
|
|
|
#endif
|
|
|
|
|
|
// N1988
|
|
|
@@ -309,10 +309,10 @@
|
|
|
# define GLM_HAS_EXTENDED_INTEGER_TYPE 1
|
|
|
#else
|
|
|
# define GLM_HAS_EXTENDED_INTEGER_TYPE (\
|
|
|
- ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)) || \
|
|
|
+ ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC11)) || \
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CUDA)) || \
|
|
|
- ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
|
|
|
- ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER >= GLM_COMPILER_CLANG30)))
|
|
|
+ ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
+ ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG)))
|
|
|
#endif
|
|
|
|
|
|
// N2235
|
|
|
@@ -324,8 +324,9 @@
|
|
|
# define GLM_HAS_CONSTEXPR_PARTIAL GLM_HAS_CONSTEXPR
|
|
|
#else
|
|
|
# define GLM_HAS_CONSTEXPR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)))) // GCC 4.6 support constexpr but there is a compiler bug causing a crash
|
|
|
-# define GLM_HAS_CONSTEXPR_PARTIAL (GLM_HAS_CONSTEXPR || ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2015)))
|
|
|
+# define GLM_HAS_CONSTEXPR_PARTIAL (GLM_HAS_CONSTEXPR || ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)))
|
|
|
#endif
|
|
|
|
|
|
// N2672
|
|
|
@@ -335,8 +336,8 @@
|
|
|
# define GLM_HAS_INITIALIZER_LISTS 1
|
|
|
#else
|
|
|
# define GLM_HAS_INITIALIZER_LISTS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA75))))
|
|
|
#endif
|
|
|
|
|
|
@@ -361,8 +362,8 @@
|
|
|
# define GLM_HAS_DEFAULTED_FUNCTIONS 1
|
|
|
#else
|
|
|
# define GLM_HAS_DEFAULTED_FUNCTIONS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL12)) || \
|
|
|
(GLM_COMPILER & GLM_COMPILER_CUDA)))
|
|
|
#endif
|
|
|
@@ -374,8 +375,8 @@
|
|
|
# define GLM_HAS_RVALUE_REFERENCES 1
|
|
|
#else
|
|
|
# define GLM_HAS_RVALUE_REFERENCES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_GCC)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC11)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA50))))
|
|
|
#endif
|
|
|
|
|
|
@@ -388,7 +389,7 @@
|
|
|
# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC45)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA50))))
|
|
|
#endif
|
|
|
|
|
|
@@ -401,7 +402,7 @@
|
|
|
# define GLM_HAS_TEMPLATE_ALIASES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL12_1)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC47)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA50))))
|
|
|
#endif
|
|
|
|
|
|
@@ -414,7 +415,7 @@
|
|
|
# define GLM_HAS_RANGE_FOR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL13)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC11)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA50))))
|
|
|
#endif
|
|
|
|
|
|
@@ -427,7 +428,7 @@
|
|
|
# define GLM_HAS_ALIGNOF ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)) || \
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2015)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA70))))
|
|
|
#endif
|
|
|
|
|
|
@@ -436,6 +437,7 @@
|
|
|
# define GLM_HAS_ASSIGNABLE 1
|
|
|
#else
|
|
|
# define GLM_HAS_ASSIGNABLE ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49))))
|
|
|
#endif
|
|
|
|
|
|
@@ -447,7 +449,7 @@
|
|
|
# define GLM_HAS_MAKE_SIGNED 1
|
|
|
#else
|
|
|
# define GLM_HAS_MAKE_SIGNED ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
|
|
|
- ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
|
|
|
((GLM_COMPILER & GLM_COMPILER_CUDA) && (GLM_COMPILER >= GLM_COMPILER_CUDA50))))
|
|
|
#endif
|
|
|
|
|
|
@@ -455,7 +457,8 @@
|
|
|
# define GLM_HAS_BITSCAN_WINDOWS 0
|
|
|
#else
|
|
|
# define GLM_HAS_BITSCAN_WINDOWS ((GLM_PLATFORM & GLM_PLATFORM_WINDOWS) && (\
|
|
|
- (GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_INTEL))))
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
|
|
|
+ ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14) && (GLM_ARCH & GLM_ARCH_X86_BIT))))
|
|
|
#endif
|
|
|
|
|
|
// OpenMP
|
|
|
@@ -481,7 +484,7 @@
|
|
|
# define GLM_HAS_OPENMP 0
|
|
|
# endif
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_VC
|
|
|
-# if GLM_COMPILER >= GLM_COMPILER_VC2010
|
|
|
+# if GLM_COMPILER >= GLM_COMPILER_VC10
|
|
|
# define GLM_HAS_OPENMP 20
|
|
|
# else
|
|
|
# define GLM_HAS_OPENMP 0
|
|
|
@@ -640,7 +643,7 @@
|
|
|
# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name
|
|
|
# define GLM_RESTRICT_FUNC __declspec(restrict)
|
|
|
# define GLM_RESTRICT __restrict
|
|
|
-# if GLM_COMPILER >= GLM_COMPILER_VC2013
|
|
|
+# if GLM_COMPILER >= GLM_COMPILER_VC12
|
|
|
# define GLM_VECTOR_CALL __vectorcall
|
|
|
# else
|
|
|
# define GLM_VECTOR_CALL
|
|
|
@@ -693,11 +696,7 @@
|
|
|
|
|
|
#if GLM_HAS_CONSTEXPR
|
|
|
# define GLM_CONSTEXPR constexpr
|
|
|
-//# if GLM_ARCH == GLM_ARCH_PURE
|
|
|
-# define GLM_CONSTEXPR_CTOR constexpr
|
|
|
-//# else
|
|
|
-//# define GLM_CONSTEXPR_CTOR
|
|
|
-//# endif
|
|
|
+# define GLM_CONSTEXPR_CTOR constexpr
|
|
|
# define GLM_RELAXED_CONSTEXPR constexpr
|
|
|
#elif GLM_HAS_CONSTEXPR_PARTIAL
|
|
|
# define GLM_CONSTEXPR constexpr
|
|
|
@@ -709,6 +708,12 @@
|
|
|
# define GLM_RELAXED_CONSTEXPR const
|
|
|
#endif
|
|
|
|
|
|
+#if GLM_ARCH == GLM_ARCH_PURE
|
|
|
+# define GLM_CONSTEXPR_SIMD GLM_CONSTEXPR_CTOR
|
|
|
+#else
|
|
|
+# define GLM_CONSTEXPR_SIMD
|
|
|
+#endif
|
|
|
+
|
|
|
#ifdef GLM_FORCE_EXPLICIT_CTOR
|
|
|
# define GLM_EXPLICIT explicit
|
|
|
#else
|