|
|
|
@ -292,8 +292,10 @@ |
|
|
|
|
# pragma message("GLM: CUDA compiler detected") |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_VC |
|
|
|
|
# pragma message("GLM: Visual C++ compiler detected") |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_CLANG |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_APPLE_CLANG |
|
|
|
|
# pragma message("GLM: Clang compiler detected") |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_LLVM |
|
|
|
|
# pragma message("GLM: LLVM compiler detected") |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_INTEL |
|
|
|
|
# pragma message("GLM: Intel Compiler detected") |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_GCC |
|
|
|
@ -470,7 +472,8 @@ |
|
|
|
|
(GLM_LANG & GLM_LANG_CXX11_FLAG) || \
|
|
|
|
|
((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_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
|
|
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER >= GLM_COMPILER_CLANG29))) |
|
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_LLVM) && (GLM_COMPILER >= GLM_COMPILER_LLVM30)) || \
|
|
|
|
|
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_APPLE_CLANG) && (GLM_COMPILER >= GLM_COMPILER_APPLE_CLANG40))) |
|
|
|
|
|
|
|
|
|
// N2235
|
|
|
|
|
#define GLM_HAS_CONSTEXPR ( \ |
|
|
|
@ -579,7 +582,7 @@ |
|
|
|
|
# define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2) |
|
|
|
|
#elif defined(GLM_FORCE_SSE2) |
|
|
|
|
# define GLM_ARCH (GLM_ARCH_SSE2) |
|
|
|
|
#elif (GLM_COMPILER & GLM_COMPILER_CLANG) || (GLM_COMPILER & GLM_COMPILER_GCC) |
|
|
|
|
#elif GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_GCC) |
|
|
|
|
# if(__AVX2__) |
|
|
|
|
# define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) |
|
|
|
|
# elif(__AVX__) |
|
|
|
@ -703,7 +706,7 @@ |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_GCC |
|
|
|
|
# define GLM_INLINE inline __attribute__((__always_inline__)) |
|
|
|
|
# define GLM_NEVER_INLINE __attribute__((__noinline__)) |
|
|
|
|
# elif GLM_COMPILER & GLM_COMPILER_CLANG |
|
|
|
|
# elif GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM) |
|
|
|
|
# define GLM_INLINE __attribute__((__always_inline__)) |
|
|
|
|
# define GLM_NEVER_INLINE __attribute__((__noinline__)) |
|
|
|
|
# else |
|
|
|
@ -742,7 +745,7 @@ |
|
|
|
|
# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name |
|
|
|
|
# define GLM_RESTRICT __declspec(restrict) |
|
|
|
|
# define GLM_RESTRICT_VAR __restrict |
|
|
|
|
#elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | GLM_COMPILER_CUDA | GLM_COMPILER_INTEL) |
|
|
|
|
#elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_CUDA | GLM_COMPILER_INTEL) |
|
|
|
|
# define GLM_DEPRECATED __attribute__((__deprecated__)) |
|
|
|
|
# define GLM_ALIGN(x) __attribute__((aligned(x))) |
|
|
|
|
# define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x))) |
|
|
|
|