Removed unsupported compiler defines

This commit is contained in:
Christophe Riccio 2014-10-18 13:20:05 +02:00
parent 327c7917fb
commit 14d86e5718
4 changed files with 87 additions and 111 deletions

View File

@ -125,8 +125,6 @@
// Visual C++ defines // Visual C++ defines
#define GLM_COMPILER_VC 0x01000000 #define GLM_COMPILER_VC 0x01000000
#define GLM_COMPILER_VC8 0x01000070
#define GLM_COMPILER_VC9 0x01000080
#define GLM_COMPILER_VC10 0x01000090 #define GLM_COMPILER_VC10 0x01000090
#define GLM_COMPILER_VC11 0x010000A0 #define GLM_COMPILER_VC11 0x010000A0
#define GLM_COMPILER_VC12 0x010000B0 #define GLM_COMPILER_VC12 0x010000B0
@ -134,10 +132,6 @@
// GCC defines // GCC defines
#define GLM_COMPILER_GCC 0x02000000 #define GLM_COMPILER_GCC 0x02000000
#define GLM_COMPILER_GCC34 0x02000050
#define GLM_COMPILER_GCC35 0x02000060
#define GLM_COMPILER_GCC40 0x02000070
#define GLM_COMPILER_GCC41 0x02000080
#define GLM_COMPILER_GCC42 0x02000090 #define GLM_COMPILER_GCC42 0x02000090
#define GLM_COMPILER_GCC43 0x020000A0 #define GLM_COMPILER_GCC43 0x020000A0
#define GLM_COMPILER_GCC44 0x020000B0 #define GLM_COMPILER_GCC44 0x020000B0
@ -162,6 +156,9 @@
#define GLM_COMPILER_CUDA40 0x10000040 #define GLM_COMPILER_CUDA40 0x10000040
#define GLM_COMPILER_CUDA41 0x10000050 #define GLM_COMPILER_CUDA41 0x10000050
#define GLM_COMPILER_CUDA42 0x10000060 #define GLM_COMPILER_CUDA42 0x10000060
#define GLM_COMPILER_CUDA50 0x10000070
#define GLM_COMPILER_CUDA60 0x10000080
#define GLM_COMPILER_CUDA65 0x10000090
// Clang // Clang
#define GLM_COMPILER_CLANG 0x20000000 #define GLM_COMPILER_CLANG 0x20000000
@ -326,30 +323,18 @@
#endif//GLM_COMPILER #endif//GLM_COMPILER
// Report compiler detection // Report compiler detection
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED)) #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED)
# define GLM_MESSAGE_COMPILER_DISPLAYED # define GLM_MESSAGE_COMPILER_DISPLAYED
# if(GLM_COMPILER & GLM_COMPILER_CUDA) # if GLM_COMPILER & GLM_COMPILER_CUDA
# pragma message("GLM: CUDA compiler detected") # pragma message("GLM: CUDA compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_VC) # elif GLM_COMPILER & GLM_COMPILER_VC
# pragma message("GLM: Visual C++ compiler detected") # pragma message("GLM: Visual C++ compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_CLANG) # elif GLM_COMPILER & GLM_COMPILER_CLANG
# pragma message("GLM: Clang compiler detected") # pragma message("GLM: Clang compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC) # elif GLM_COMPILER & GLM_COMPILER_INTEL
# pragma message("GLM: LLVM GCC compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_INTEL)
# pragma message("GLM: Intel Compiler detected") # pragma message("GLM: Intel Compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_GCC) # elif GLM_COMPILER & GLM_COMPILER_GCC
# if(GLM_COMPILER == GLM_COMPILER_GCC_LLVM) # pragma message("GLM: GCC compiler detected")
# pragma message("GLM: LLVM GCC compiler detected")
# elif(GLM_COMPILER == GLM_COMPILER_GCC_CLANG)
# pragma message("GLM: CLANG compiler detected")
# else
# pragma message("GLM: GCC compiler detected")
# endif
# elif(GLM_COMPILER & GLM_COMPILER_BC)
# pragma message("GLM: Borland compiler detected but not supported")
# elif(GLM_COMPILER & GLM_COMPILER_CODEWARRIOR)
# pragma message("GLM: Codewarrior compiler detected but not supported")
# else # else
# pragma message("GLM: Compiler not detected") # pragma message("GLM: Compiler not detected")
# endif # endif
@ -358,19 +343,19 @@
///////////////// /////////////////
// Build model // // Build model //
#if(defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__)) #if defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__)
# define GLM_MODEL GLM_MODEL_64 # define GLM_MODEL GLM_MODEL_64
#elif(defined(__i386__) || defined(__ppc__)) #elif defined(__i386__) || defined(__ppc__)
# define GLM_MODEL GLM_MODEL_32 # define GLM_MODEL GLM_MODEL_32
#else #else
# define GLM_MODEL GLM_MODEL_32 # define GLM_MODEL GLM_MODEL_32
#endif// #endif//
#if(!defined(GLM_MODEL) && GLM_COMPILER != 0) #if !defined(GLM_MODEL) && GLM_COMPILER != 0
# error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message." # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
#endif//GLM_MODEL #endif//GLM_MODEL
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED)) #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED)
# define GLM_MESSAGE_MODEL_DISPLAYED # define GLM_MESSAGE_MODEL_DISPLAYED
# if(GLM_MODEL == GLM_MODEL_64) # if(GLM_MODEL == GLM_MODEL_64)
# pragma message("GLM: 64 bits model") # pragma message("GLM: 64 bits model")
@ -384,7 +369,6 @@
// User defines: GLM_FORCE_CXX98 // User defines: GLM_FORCE_CXX98
#define GLM_LANG_CXX_FLAG (1 << 0)
#define GLM_LANG_CXX98_FLAG (1 << 1) #define GLM_LANG_CXX98_FLAG (1 << 1)
#define GLM_LANG_CXX03_FLAG (1 << 2) #define GLM_LANG_CXX03_FLAG (1 << 2)
#define GLM_LANG_CXX0X_FLAG (1 << 3) #define GLM_LANG_CXX0X_FLAG (1 << 3)
@ -393,8 +377,7 @@
#define GLM_LANG_CXXMS_FLAG (1 << 6) #define GLM_LANG_CXXMS_FLAG (1 << 6)
#define GLM_LANG_CXXGNU_FLAG (1 << 7) #define GLM_LANG_CXXGNU_FLAG (1 << 7)
#define GLM_LANG_CXX GLM_LANG_CXX_FLAG #define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG
#define GLM_LANG_CXX98 (GLM_LANG_CXX | GLM_LANG_CXX98_FLAG)
#define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG) #define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
#define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG) #define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG)
#define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG) #define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG)
@ -402,72 +385,78 @@
#define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG #define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
#define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG #define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
#if(defined(GLM_FORCE_CXX1Y)) #if defined(GLM_FORCE_CXX1Y)
# define GLM_LANG GLM_LANG_CXX1Y # define GLM_LANG GLM_LANG_CXX1Y
#elif(defined(GLM_FORCE_CXX11)) #elif defined(GLM_FORCE_CXX11)
# define GLM_LANG GLM_LANG_CXX11 # define GLM_LANG GLM_LANG_CXX11
#elif(defined(GLM_FORCE_CXX03)) #elif defined(GLM_FORCE_CXX03)
# define GLM_LANG GLM_LANG_CXX03 # define GLM_LANG GLM_LANG_CXX03
#elif(defined(GLM_FORCE_CXX98)) #elif defined(GLM_FORCE_CXX98)
# define GLM_LANG GLM_LANG_CXX98 # define GLM_LANG GLM_LANG_CXX98
#else #else
# if(__cplusplus >= 201103L) # if __cplusplus >= 201103L
# define GLM_LANG GLM_LANG_CXX11 # define GLM_LANG GLM_LANG_CXX11
# elif((GLM_COMPILER & GLM_COMPILER_CLANG) == GLM_COMPILER_CLANG) # elif GLM_COMPILER & GLM_COMPILER_CLANG
# if(GLM_PLATFORM == GLM_PLATFORM_APPLE) # if(GLM_PLATFORM == GLM_PLATFORM_APPLE)
# define GLM_DETAIL_MAJOR 1 # define GLM_DETAIL_MAJOR 1
# else # else
# define GLM_DETAIL_MAJOR 0 # define GLM_DETAIL_MAJOR 0
# endif # endif
# if(__clang_major__ < (2 + GLM_DETAIL_MAJOR)) # if __clang_major__ < (2 + GLM_DETAIL_MAJOR)
# define GLM_LANG GLM_LANG_CXX # define GLM_LANG GLM_LANG_CXX
# elif(__has_feature(cxx_auto_type)) # elif __has_feature(cxx_auto_type)
# 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 # endif
# elif((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) # elif GLM_COMPILER & GLM_COMPILER_GCC
# if defined(__GXX_EXPERIMENTAL_CXX0X__) # ifdef __GXX_EXPERIMENTAL_CXX0X__
# 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 # endif
# elif(GLM_COMPILER & GLM_COMPILER_VC) # elif GLM_COMPILER & GLM_COMPILER_VC
# if(defined(_MSC_EXTENSIONS)) # ifdef _MSC_EXTENSIONS
# if(GLM_COMPILER >= GLM_COMPILER_VC10) # if GLM_COMPILER >= GLM_COMPILER_VC10
# define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG) # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
# else # else
# define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG) # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
# endif # endif
# else # else
# if(GLM_COMPILER >= GLM_COMPILER_VC10) # if(GLM_COMPILER >= GLM_COMPILER_VC10
# 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 # endif
# endif # endif
# elif(GLM_COMPILER & GLM_COMPILER_INTEL) # elif GLM_COMPILER & GLM_COMPILER_INTEL
# if(defined(_MSC_EXTENSIONS)) # ifdef _MSC_EXTENSIONS
# if(GLM_COMPILER >= GLM_COMPILER_INTEL13_0) # if GLM_COMPILER >= GLM_COMPILER_INTEL13_0
# define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG) # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
# else # else
# define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG) # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
# endif # endif
# else # else
# if(GLM_COMPILER >= GLM_COMPILER_INTEL13_0) # if GLM_COMPILER >= GLM_COMPILER_INTEL13_0
# 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 # endif
# endif # endif
# elif(__cplusplus >= 199711L)
# define GLM_LANG GLM_LANG_CXX98
# else # else
# define GLM_LANG GLM_LANG_CXX # if __cplusplus >= 199711L
# define GLM_LANG GLM_LANG_CXX98
# endif
# ifndef GLM_FORCE_CXX98
# define GLM_FORCE_CXX98
# endif
# ifndef GLM_FORCE_PURE
# define GLM_FORCE_PURE
# endif
# endif # endif
#endif #endif
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)) #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED)
# define GLM_MESSAGE_LANG_DISPLAYED # define GLM_MESSAGE_LANG_DISPLAYED
# if(GLM_LANG & GLM_LANG_CXXGNU_FLAG) # if(GLM_LANG & GLM_LANG_CXXGNU_FLAG)
# pragma message("GLM: C++ with language extensions") # pragma message("GLM: C++ with language extensions")
@ -568,21 +557,19 @@
// OpenMP // OpenMP
#ifdef _OPENMP #ifdef _OPENMP
# if(GLM_COMPILER & GLM_COMPILER_GCC) # if GLM_COMPILER & GLM_COMPILER_GCC
# if(GLM_COMPILER > GLM_COMPILER_GCC47) # if GLM_COMPILER > GLM_COMPILER_GCC47
# define GLM_HAS_OPENMP 31 # define GLM_HAS_OPENMP 31
# elif(GLM_COMPILER > GLM_COMPILER_GCC44) # elif GLM_COMPILER > GLM_COMPILER_GCC44
# define GLM_HAS_OPENMP 30 # define GLM_HAS_OPENMP 30
# elif(GLM_COMPILER > GLM_COMPILER_GCC42)
# define GLM_HAS_OPENMP 25
# endif # endif
# endif//(GLM_COMPILER & GLM_COMPILER_GCC) # endif// GLM_COMPILER & GLM_COMPILER_GCC
# if(GLM_COMPILER & GLM_COMPILER_VC) # if GLM_COMPILER & GLM_COMPILER_VC
# if(GLM_COMPILER > GLM_COMPILER_VC8) # if GLM_COMPILER > GLM_COMPILER_VC10
# define GLM_HAS_OPENMP 20 # define GLM_HAS_OPENMP 20
# endif # endif
# endif//(GLM_COMPILER & GLM_COMPILER_GCC) # endif// GLM_COMPILER & GLM_COMPILER_VC
#endif #endif
// Not standard // Not standard
@ -600,19 +587,19 @@
#define GLM_ARCH_AVX 0x0008 #define GLM_ARCH_AVX 0x0008
#define GLM_ARCH_AVX2 0x0010 #define GLM_ARCH_AVX2 0x0010
#if(defined(GLM_FORCE_PURE)) #if defined(GLM_FORCE_PURE)
# define GLM_ARCH GLM_ARCH_PURE # define GLM_ARCH GLM_ARCH_PURE
#elif(defined(GLM_FORCE_AVX2)) #elif defined(GLM_FORCE_AVX2)
# define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
#elif(defined(GLM_FORCE_AVX)) #elif defined(GLM_FORCE_AVX)
# define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
#elif(defined(GLM_FORCE_SSE4)) #elif defined(GLM_FORCE_SSE4)
# define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
#elif(defined(GLM_FORCE_SSE3)) #elif defined(GLM_FORCE_SSE3)
# define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
#elif(defined(GLM_FORCE_SSE2)) #elif defined(GLM_FORCE_SSE2)
# define GLM_ARCH (GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_SSE2)
#elif((GLM_COMPILER & GLM_COMPILER_CLANG) || (GLM_COMPILER & GLM_COMPILER_GCC)) #elif (GLM_COMPILER & GLM_COMPILER_CLANG) || (GLM_COMPILER & GLM_COMPILER_GCC)
# if(__AVX2__) # if(__AVX2__)
# define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
# elif(__AVX__) # elif(__AVX__)
@ -624,7 +611,7 @@
# else # else
# define GLM_ARCH GLM_ARCH_PURE # define GLM_ARCH GLM_ARCH_PURE
# endif # endif
#elif(GLM_COMPILER & GLM_COMPILER_VC) #elif GLM_COMPILER & GLM_COMPILER_VC
# if _M_IX86_FP == 2 && defined(__AVX__) # if _M_IX86_FP == 2 && defined(__AVX__)
# define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
# elif _M_IX86_FP == 2 # elif _M_IX86_FP == 2
@ -632,7 +619,7 @@
# else # else
# define GLM_ARCH (GLM_ARCH_PURE) # define GLM_ARCH (GLM_ARCH_PURE)
# endif # endif
#elif(((GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))) || (GLM_COMPILER & GLM_COMPILER_LLVM_GCC) || (GLM_COMPILER & GLM_COMPILER_CLANG)) #elif (GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))
# if defined(__AVX2__) # if defined(__AVX2__)
# define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
# elif defined(__AVX__) # elif defined(__AVX__)
@ -657,19 +644,19 @@
# include <intrin.h> # include <intrin.h>
#endif #endif
#if(GLM_ARCH & GLM_ARCH_AVX2) #if GLM_ARCH & GLM_ARCH_AVX2
# include <immintrin.h> # include <immintrin.h>
#endif//GLM_ARCH #endif//GLM_ARCH
#if(GLM_ARCH & GLM_ARCH_AVX) #if GLM_ARCH & GLM_ARCH_AVX
# include <immintrin.h> # include <immintrin.h>
#endif//GLM_ARCH #endif//GLM_ARCH
#if(GLM_ARCH & GLM_ARCH_SSE4) #if GLM_ARCH & GLM_ARCH_SSE4
# include <smmintrin.h> # include <smmintrin.h>
#endif//GLM_ARCH #endif//GLM_ARCH
#if(GLM_ARCH & GLM_ARCH_SSE3) #if GLM_ARCH & GLM_ARCH_SSE3
# include <pmmintrin.h> # include <pmmintrin.h>
#endif//GLM_ARCH #endif//GLM_ARCH
#if(GLM_ARCH & GLM_ARCH_SSE2) #if GLM_ARCH & GLM_ARCH_SSE2
# include <emmintrin.h> # include <emmintrin.h>
# if(GLM_COMPILER == GLM_COMPILER_VC8) // VC8 is missing some intrinsics, workaround # if(GLM_COMPILER == GLM_COMPILER_VC8) // VC8 is missing some intrinsics, workaround
inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; } inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; }
@ -680,7 +667,7 @@
# endif # endif
#endif//GLM_ARCH #endif//GLM_ARCH
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED)) #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED)
# define GLM_MESSAGE_ARCH_DISPLAYED # define GLM_MESSAGE_ARCH_DISPLAYED
# if(GLM_ARCH == GLM_ARCH_PURE) # if(GLM_ARCH == GLM_ARCH_PURE)
# pragma message("GLM: Platform independent code") # pragma message("GLM: Platform independent code")
@ -701,9 +688,9 @@
#if GLM_HAS_STATIC_ASSERT #if GLM_HAS_STATIC_ASSERT
# define GLM_STATIC_ASSERT(x, message) static_assert(x, message) # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
#elif(defined(BOOST_STATIC_ASSERT)) #elif defined(BOOST_STATIC_ASSERT)
# define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x) # define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)
#elif(GLM_COMPILER & GLM_COMPILER_VC) #elif GLM_COMPILER & GLM_COMPILER_VC
# define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1] # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
#else #else
# define GLM_STATIC_ASSERT(x, message) # define GLM_STATIC_ASSERT(x, message)
@ -727,12 +714,12 @@
# define GLM_VAR_USED # define GLM_VAR_USED
#endif #endif
#if(defined(GLM_FORCE_INLINE)) #if defined(GLM_FORCE_INLINE)
# if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC8)) # if GLM_COMPILER & GLM_COMPILER_VC
# define GLM_INLINE __forceinline # define GLM_INLINE __forceinline
# elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC34)) # elif GLM_COMPILER & GLM_COMPILER_GCC
# define GLM_INLINE __attribute__((always_inline)) inline # define GLM_INLINE __attribute__((always_inline)) inline
# elif(GLM_COMPILER & GLM_COMPILER_CLANG) # elif GLM_COMPILER & GLM_COMPILER_CLANG
# define GLM_INLINE __attribute__((always_inline)) # define GLM_INLINE __attribute__((always_inline))
# else # else
# define GLM_INLINE inline # define GLM_INLINE inline
@ -749,7 +736,7 @@
// User defines: GLM_SWIZZLE // User defines: GLM_SWIZZLE
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED)) #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED)
# define GLM_MESSAGE_SWIZZLE_DISPLAYED # define GLM_MESSAGE_SWIZZLE_DISPLAYED
# if defined(GLM_SWIZZLE) # if defined(GLM_SWIZZLE)
# pragma message("GLM: Swizzling operators enabled") # pragma message("GLM: Swizzling operators enabled")
@ -761,19 +748,19 @@
/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
// Qualifiers // Qualifiers
#if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC8)) #if GLM_COMPILER & GLM_COMPILER_VC
# define GLM_DEPRECATED __declspec(deprecated) # define GLM_DEPRECATED __declspec(deprecated)
# define GLM_ALIGN(x) __declspec(align(x)) # define GLM_ALIGN(x) __declspec(align(x))
# define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct # define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
# define GLM_RESTRICT __declspec(restrict) # define GLM_RESTRICT __declspec(restrict)
# define GLM_RESTRICT_VAR __restrict # define GLM_RESTRICT_VAR __restrict
#elif(GLM_COMPILER & GLM_COMPILER_INTEL) #elif GLM_COMPILER & GLM_COMPILER_INTEL
# define GLM_DEPRECATED # define GLM_DEPRECATED
# define GLM_ALIGN(x) __declspec(align(x)) # define GLM_ALIGN(x) __declspec(align(x))
# define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct # define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
# define GLM_RESTRICT # define GLM_RESTRICT
# define GLM_RESTRICT_VAR __restrict # define GLM_RESTRICT_VAR __restrict
#elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)) #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)
# define GLM_DEPRECATED __attribute__((__deprecated__)) # define GLM_DEPRECATED __attribute__((__deprecated__))
# define GLM_ALIGN(x) __attribute__((aligned(x))) # define GLM_ALIGN(x) __attribute__((aligned(x)))
# define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x))) # define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
@ -827,7 +814,7 @@ namespace detail
}//namespace detail }//namespace detail
}//namespace glm }//namespace glm
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH)) #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH)
# define GLM_MESSAGE_FORCE_SIZE_T_LENGTH # define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
# if defined(GLM_FORCE_SIZE_T_LENGTH) # if defined(GLM_FORCE_SIZE_T_LENGTH)
# pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t") # pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")

View File

@ -65,6 +65,13 @@ GLM 0.9.6.0: 2014-XX-XX
- Removed GLM_FORCE_CUDA, Cuda is implicitly detected - Removed GLM_FORCE_CUDA, Cuda is implicitly detected
- Updated GTX_associated_min_max with vec1 support - Updated GTX_associated_min_max with vec1 support
- Fixed lack of consistency of quat and dualquat constructors - Fixed lack of consistency of quat and dualquat constructors
- Removed VC 2005 / 8 and 2008 / 9 support
- Removed GCC 3.4 to 4.5 support
- Removed LLVM GCC support
- Removed LLVM 2.6 to 2.9 support
- Removed CUDA 3.0 to 4.0 support
- Undetected C++ compiler automatically compile with GLM_FORCE_CXX98 and
GLM_FORCE_PURE
================================================================================ ================================================================================
GLM 0.9.5.4: 2014-06-21 GLM 0.9.5.4: 2014-06-21

View File

@ -19,12 +19,6 @@ int test_compiler()
{ {
switch(GLM_COMPILER) switch(GLM_COMPILER)
{ {
case GLM_COMPILER_VC8:
std::cout << "GLM_COMPILER_VC8" << std::endl;
break;
case GLM_COMPILER_VC9:
std::cout << "GLM_COMPILER_VC9" << std::endl;
break;
case GLM_COMPILER_VC10: case GLM_COMPILER_VC10:
std::cout << "GLM_COMPILER_VC10" << std::endl; std::cout << "GLM_COMPILER_VC10" << std::endl;
break; break;
@ -47,18 +41,6 @@ int test_compiler()
{ {
switch(GLM_COMPILER) switch(GLM_COMPILER)
{ {
case GLM_COMPILER_GCC34:
std::cout << "GLM_COMPILER_GCC34" << std::endl;
break;
case GLM_COMPILER_GCC35:
std::cout << "GLM_COMPILER_GCC35" << std::endl;
break;
case GLM_COMPILER_GCC40:
std::cout << "GLM_COMPILER_GCC40" << std::endl;
break;
case GLM_COMPILER_GCC41:
std::cout << "GLM_COMPILER_GCC41" << std::endl;
break;
case GLM_COMPILER_GCC42: case GLM_COMPILER_GCC42:
std::cout << "GLM_COMPILER_GCC42" << std::endl; std::cout << "GLM_COMPILER_GCC42" << std::endl;
break; break;

View File

@ -93,11 +93,11 @@ int test_vec1_size()
int Error = 0; int Error = 0;
Error += sizeof(glm::vec1) == sizeof(glm::mediump_vec1) ? 0 : 1; Error += sizeof(glm::vec1) == sizeof(glm::mediump_vec1) ? 0 : 1;
Error += 8 == sizeof(glm::mediump_vec1) ? 0 : 1; Error += 4 == sizeof(glm::mediump_vec1) ? 0 : 1;
Error += sizeof(glm::dvec1) == sizeof(glm::highp_dvec1) ? 0 : 1; Error += sizeof(glm::dvec1) == sizeof(glm::highp_dvec1) ? 0 : 1;
Error += 16 == sizeof(glm::highp_dvec1) ? 0 : 1; Error += 8 == sizeof(glm::highp_dvec1) ? 0 : 1;
Error += glm::vec1().length() == 2 ? 0 : 1; Error += glm::vec1().length() == 1 ? 0 : 1;
Error += glm::dvec1().length() == 2 ? 0 : 1; Error += glm::dvec1().length() == 1 ? 0 : 1;
return Error; return Error;
} }