mirror of
https://github.com/g-truc/glm.git
synced 2024-11-10 04:31:47 +00:00
Merged 0.9.7 branch, Factorized GLM_COMPILER_LLVM and GLM_COMPILER_APPLE_CLANG into GLM_COMPILER_CLANG
This commit is contained in:
commit
6271aa1530
@ -255,7 +255,7 @@
|
||||
# define GLM_CXX11_STATIC_ASSERT
|
||||
# endif
|
||||
|
||||
#elif(GLM_COMPILER & GLM_COMPILER_LLVM)
|
||||
#elif(GLM_COMPILER & GLM_COMPILER_CLANG)
|
||||
# if(__has_feature(cxx_exceptions))
|
||||
# define GLM_CXX98_EXCEPTIONS
|
||||
# endif
|
||||
@ -396,4 +396,4 @@
|
||||
# define GLM_CXX11_VARIADIC_TEMPLATES
|
||||
# endif
|
||||
|
||||
#endif//(GLM_COMPILER & GLM_COMPILER_LLVM)
|
||||
#endif//(GLM_COMPILER & GLM_COMPILER_CLANG)
|
||||
|
@ -630,7 +630,7 @@ namespace detail
|
||||
# else
|
||||
return ::isnan(x) != 0;
|
||||
# endif
|
||||
# elif (GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM)) && (GLM_PLATFORM & GLM_PLATFORM_ANDROID) && __cplusplus < 201103L
|
||||
# elif (GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)) && (GLM_PLATFORM & GLM_PLATFORM_ANDROID) && __cplusplus < 201103L
|
||||
return _isnan(x) != 0;
|
||||
# elif GLM_COMPILER & GLM_COMPILER_CUDA
|
||||
return isnan(x) != 0;
|
||||
@ -664,7 +664,7 @@ namespace detail
|
||||
# else
|
||||
return ::isinf(x);
|
||||
# endif
|
||||
# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM)
|
||||
# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)
|
||||
# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID && __cplusplus < 201103L)
|
||||
return _isinf(x) != 0;
|
||||
# else
|
||||
|
@ -84,7 +84,7 @@ namespace glm
|
||||
|
||||
// atan
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType atan(genType const & y, genType const & x)
|
||||
GLM_FUNC_QUALIFIER genType atan(genType y, genType x)
|
||||
{
|
||||
GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'atan' only accept floating-point input");
|
||||
|
||||
@ -136,8 +136,8 @@ namespace glm
|
||||
# if GLM_HAS_CXX11_STL
|
||||
using std::asinh;
|
||||
# else
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType asinh(genType const & x)
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType asinh(genType x)
|
||||
{
|
||||
GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'asinh' only accept floating-point input");
|
||||
|
||||
@ -156,7 +156,7 @@ namespace glm
|
||||
using std::acosh;
|
||||
# else
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType acosh(genType const & x)
|
||||
GLM_FUNC_QUALIFIER genType acosh(genType x)
|
||||
{
|
||||
GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'acosh' only accept floating-point input");
|
||||
|
||||
@ -177,7 +177,7 @@ namespace glm
|
||||
using std::atanh;
|
||||
# else
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER genType atanh(genType const & x)
|
||||
GLM_FUNC_QUALIFIER genType atanh(genType x)
|
||||
{
|
||||
GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'atanh' only accept floating-point input");
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
# pragma message("GLM: CUDA compiler detected")
|
||||
# elif GLM_COMPILER & GLM_COMPILER_VC
|
||||
# pragma message("GLM: Visual C++ compiler detected")
|
||||
# elif GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
# elif GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# pragma message("GLM: Clang compiler detected")
|
||||
# elif GLM_COMPILER & GLM_COMPILER_INTEL
|
||||
# pragma message("GLM: Intel Compiler detected")
|
||||
@ -134,14 +134,14 @@
|
||||
#elif defined(GLM_FORCE_CXX98)
|
||||
# define GLM_LANG GLM_LANG_CXX98
|
||||
#else
|
||||
# if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
# if __cplusplus >= 201402L // GLM_COMPILER_LLVM34 + -std=c++14
|
||||
# if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# if __cplusplus >= 201402L // GLM_COMPILER_CLANG34 + -std=c++14
|
||||
# define GLM_LANG GLM_LANG_CXX14
|
||||
# elif __has_feature(cxx_decltype_auto) && __has_feature(cxx_aggregate_nsdmi) // GLM_COMPILER_LLVM33 + -std=c++1y
|
||||
# elif __has_feature(cxx_decltype_auto) && __has_feature(cxx_aggregate_nsdmi) // GLM_COMPILER_CLANG33 + -std=c++1y
|
||||
# define GLM_LANG GLM_LANG_CXX1Y
|
||||
# elif __cplusplus >= 201103L // GLM_COMPILER_LLVM33 + -std=c++11
|
||||
# elif __cplusplus >= 201103L // GLM_COMPILER_CLANG33 + -std=c++11
|
||||
# define GLM_LANG GLM_LANG_CXX11
|
||||
# elif __has_feature(cxx_static_assert) // GLM_COMPILER_LLVM29 + -std=c++11
|
||||
# elif __has_feature(cxx_static_assert) // GLM_COMPILER_CLANG29 + -std=c++11
|
||||
# define GLM_LANG GLM_LANG_CXX0X
|
||||
# elif __cplusplus >= 199711L
|
||||
# define GLM_LANG GLM_LANG_CXX98
|
||||
@ -263,15 +263,8 @@
|
||||
// http://gcc.gnu.org/projects/cxx0x.html
|
||||
// http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
|
||||
|
||||
#if GLM_PLATFORM == GLM_PLATFORM_ANDROID || GLM_PLATFORM == GLM_PLATFORM_CYGWIN
|
||||
# define GLM_HAS_CXX11_STL 0
|
||||
#elif GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
# if __has_include(<__config>) // libc++
|
||||
# include <__config>
|
||||
//# else // libstdc++
|
||||
//# include <bits/c++config.h>
|
||||
# endif
|
||||
# if defined(_LIBCPP_VERSION)// || defined(__GLIBCXX__)
|
||||
#if GLM_COMPILER & (GLM_COMPILER_CLANG | GLM_COMPILER_APPLE_CLANG)
|
||||
# if defined(_LIBCPP_VERSION) && GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_CXX11_STL 1
|
||||
# else
|
||||
# define GLM_HAS_CXX11_STL 0
|
||||
@ -284,7 +277,7 @@
|
||||
#endif
|
||||
|
||||
// N1720
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_STATIC_ASSERT __has_feature(cxx_static_assert)
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_STATIC_ASSERT 1
|
||||
@ -303,11 +296,11 @@
|
||||
((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_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_LLVM) && (GLM_COMPILER >= GLM_COMPILER_LLVM30)))
|
||||
((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER >= GLM_COMPILER_CLANG30)))
|
||||
#endif
|
||||
|
||||
// N2235
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_CONSTEXPR __has_feature(cxx_constexpr)
|
||||
# define GLM_HAS_CONSTEXPR_PARTIAL GLM_HAS_CONSTEXPR
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
@ -320,7 +313,7 @@
|
||||
#endif
|
||||
|
||||
// N2672
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_INITIALIZER_LISTS __has_feature(cxx_generalized_initializers)
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_INITIALIZER_LISTS 1
|
||||
@ -332,7 +325,7 @@
|
||||
#endif
|
||||
|
||||
// N2544 Unrestricted unions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_UNRESTRICTED_UNIONS __has_feature(cxx_unrestricted_unions)
|
||||
#elif GLM_LANG & (GLM_LANG_CXX11_FLAG | GLM_LANG_CXXMS_FLAG)
|
||||
# define GLM_HAS_UNRESTRICTED_UNIONS 1
|
||||
@ -344,7 +337,7 @@
|
||||
#endif
|
||||
|
||||
// N2346
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_DEFAULTED_FUNCTIONS __has_feature(cxx_defaulted_functions)
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_DEFAULTED_FUNCTIONS 1
|
||||
@ -357,7 +350,7 @@
|
||||
#endif
|
||||
|
||||
// N2118
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_RVALUE_REFERENCES __has_feature(cxx_rvalue_references)
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_RVALUE_REFERENCES 1
|
||||
@ -369,7 +362,7 @@
|
||||
#endif
|
||||
|
||||
// N2437 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS __has_feature(cxx_explicit_conversions)
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS 1
|
||||
@ -382,7 +375,7 @@
|
||||
#endif
|
||||
|
||||
// N2258 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_TEMPLATE_ALIASES __has_feature(cxx_alias_templates)
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_TEMPLATE_ALIASES 1
|
||||
@ -395,7 +388,7 @@
|
||||
#endif
|
||||
|
||||
// N2930 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
|
||||
#if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
#if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# define GLM_HAS_RANGE_FOR __has_feature(cxx_range_for)
|
||||
#elif GLM_LANG & GLM_LANG_CXX11_FLAG
|
||||
# define GLM_HAS_RANGE_FOR 1
|
||||
@ -450,8 +443,8 @@
|
||||
# else
|
||||
# define GLM_HAS_OPENMP 0
|
||||
# endif
|
||||
# elif GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
# if GLM_COMPILER >= GLM_COMPILER_LLVM38
|
||||
# elif GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# if GLM_COMPILER >= GLM_COMPILER_CLANG38
|
||||
# define GLM_HAS_OPENMP 31
|
||||
# else
|
||||
# define GLM_HAS_OPENMP 0
|
||||
@ -510,7 +503,7 @@
|
||||
# if GLM_COMPILER & GLM_COMPILER_VC
|
||||
# define GLM_INLINE __forceinline
|
||||
# define GLM_NEVER_INLINE __declspec((noinline))
|
||||
# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM)
|
||||
# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)
|
||||
# define GLM_INLINE inline __attribute__((__always_inline__))
|
||||
# define GLM_NEVER_INLINE __attribute__((__noinline__))
|
||||
# elif GLM_COMPILER & GLM_COMPILER_CUDA
|
||||
@ -590,15 +583,15 @@
|
||||
# else
|
||||
# define GLM_VECTOR_CALL
|
||||
# endif
|
||||
#elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM | GLM_COMPILER_CUDA | GLM_COMPILER_INTEL)
|
||||
#elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | 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)))
|
||||
# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment)))
|
||||
# define GLM_RESTRICT_FUNC __restrict__
|
||||
# define GLM_RESTRICT __restrict__
|
||||
# if GLM_COMPILER & GLM_COMPILER_LLVM
|
||||
# if GLM_COMPILER >= GLM_COMPILER_LLVM37
|
||||
# if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||
# if GLM_COMPILER >= GLM_COMPILER_CLANG37
|
||||
# define GLM_VECTOR_CALL __vectorcall
|
||||
# else
|
||||
# define GLM_VECTOR_CALL
|
||||
|
@ -24,16 +24,20 @@ namespace glm
|
||||
/// @addtogroup gtc_reciprocal
|
||||
/// @{
|
||||
|
||||
/// Secant function.
|
||||
/// Secant function.
|
||||
/// hypotenuse / adjacent or 1 / cos(x)
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
<<<<<<< HEAD
|
||||
template <typename genType>
|
||||
=======
|
||||
template <typename genType>
|
||||
>>>>>>> 0.9.7
|
||||
GLM_FUNC_DECL genType sec(genType angle);
|
||||
|
||||
/// Cosecant function.
|
||||
/// Cosecant function.
|
||||
/// hypotenuse / opposite or 1 / sin(x)
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
@ -42,91 +46,111 @@ namespace glm
|
||||
template <typename genType>
|
||||
GLM_FUNC_DECL genType csc(genType angle);
|
||||
|
||||
/// Cotangent function.
|
||||
/// Cotangent function.
|
||||
/// adjacent / opposite or 1 / tan(x)
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
<<<<<<< HEAD
|
||||
template <typename genType>
|
||||
=======
|
||||
template <typename genType>
|
||||
>>>>>>> 0.9.7
|
||||
GLM_FUNC_DECL genType cot(genType angle);
|
||||
|
||||
/// Inverse secant function.
|
||||
/// Inverse secant function.
|
||||
///
|
||||
/// @return Return an angle expressed in radians.
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
<<<<<<< HEAD
|
||||
template <typename genType>
|
||||
=======
|
||||
template <typename genType>
|
||||
>>>>>>> 0.9.7
|
||||
GLM_FUNC_DECL genType asec(genType x);
|
||||
|
||||
/// Inverse cosecant function.
|
||||
/// Inverse cosecant function.
|
||||
///
|
||||
/// @return Return an angle expressed in radians.
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
<<<<<<< HEAD
|
||||
template <typename genType>
|
||||
=======
|
||||
template <typename genType>
|
||||
>>>>>>> 0.9.7
|
||||
GLM_FUNC_DECL genType acsc(genType x);
|
||||
|
||||
/// Inverse cotangent function.
|
||||
/// Inverse cotangent function.
|
||||
///
|
||||
/// @return Return an angle expressed in radians.
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
<<<<<<< HEAD
|
||||
template <typename genType>
|
||||
=======
|
||||
template <typename genType>
|
||||
>>>>>>> 0.9.7
|
||||
GLM_FUNC_DECL genType acot(genType x);
|
||||
|
||||
/// Secant hyperbolic function.
|
||||
/// Secant hyperbolic function.
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
<<<<<<< HEAD
|
||||
template <typename genType>
|
||||
=======
|
||||
template <typename genType>
|
||||
>>>>>>> 0.9.7
|
||||
GLM_FUNC_DECL genType sech(genType angle);
|
||||
|
||||
/// Cosecant hyperbolic function.
|
||||
/// Cosecant hyperbolic function.
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
template <typename genType>
|
||||
template <typename genType>
|
||||
GLM_FUNC_DECL genType csch(genType angle);
|
||||
|
||||
/// Cotangent hyperbolic function.
|
||||
/// Cotangent hyperbolic function.
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
template <typename genType>
|
||||
template <typename genType>
|
||||
GLM_FUNC_DECL genType coth(genType angle);
|
||||
|
||||
/// Inverse secant hyperbolic function.
|
||||
/// Inverse secant hyperbolic function.
|
||||
///
|
||||
/// @return Return an angle expressed in radians.
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
template <typename genType>
|
||||
template <typename genType>
|
||||
GLM_FUNC_DECL genType asech(genType x);
|
||||
|
||||
/// Inverse cosecant hyperbolic function.
|
||||
/// Inverse cosecant hyperbolic function.
|
||||
///
|
||||
/// @return Return an angle expressed in radians.
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
template <typename genType>
|
||||
template <typename genType>
|
||||
GLM_FUNC_DECL genType acsch(genType x);
|
||||
|
||||
/// Inverse cotangent hyperbolic function.
|
||||
/// Inverse cotangent hyperbolic function.
|
||||
///
|
||||
/// @return Return an angle expressed in radians.
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
///
|
||||
/// @see gtc_reciprocal
|
||||
template <typename genType>
|
||||
template <typename genType>
|
||||
GLM_FUNC_DECL genType acoth(genType x);
|
||||
|
||||
/// @}
|
||||
|
@ -103,7 +103,14 @@
|
||||
#define GLM_COMPILER_GCC51 0x02000300
|
||||
#define GLM_COMPILER_GCC52 0x02000400
|
||||
#define GLM_COMPILER_GCC53 0x02000500
|
||||
#define GLM_COMPILER_GCC60 0x02000600
|
||||
#define GLM_COMPILER_GCC54 0x02000600
|
||||
#define GLM_COMPILER_GCC60 0x02000700
|
||||
#define GLM_COMPILER_GCC61 0x02000800
|
||||
#define GLM_COMPILER_GCC62 0x02000900
|
||||
#define GLM_COMPILER_GCC70 0x02000A00
|
||||
#define GLM_COMPILER_GCC71 0x02000B00
|
||||
#define GLM_COMPILER_GCC72 0x02000C00
|
||||
#define GLM_COMPILER_GCC80 0x02000D00
|
||||
|
||||
// CUDA
|
||||
#define GLM_COMPILER_CUDA 0x10000000
|
||||
@ -115,17 +122,18 @@
|
||||
#define GLM_COMPILER_CUDA65 0x10000090
|
||||
#define GLM_COMPILER_CUDA70 0x100000A0
|
||||
#define GLM_COMPILER_CUDA75 0x100000B0
|
||||
#define GLM_COMPILER_CUDA80 0x100000C0
|
||||
|
||||
// LLVM
|
||||
#define GLM_COMPILER_LLVM 0x20000000
|
||||
#define GLM_COMPILER_LLVM32 0x20000030
|
||||
#define GLM_COMPILER_LLVM33 0x20000040
|
||||
#define GLM_COMPILER_LLVM34 0x20000050
|
||||
#define GLM_COMPILER_LLVM35 0x20000060
|
||||
#define GLM_COMPILER_LLVM36 0x20000070
|
||||
#define GLM_COMPILER_LLVM37 0x20000080
|
||||
#define GLM_COMPILER_LLVM38 0x20000090
|
||||
#define GLM_COMPILER_LLVM39 0x200000A0
|
||||
// Clang
|
||||
#define GLM_COMPILER_CLANG 0x20000000
|
||||
#define GLM_COMPILER_CLANG32 0x20000030
|
||||
#define GLM_COMPILER_CLANG33 0x20000040
|
||||
#define GLM_COMPILER_CLANG34 0x20000050
|
||||
#define GLM_COMPILER_CLANG35 0x20000060
|
||||
#define GLM_COMPILER_CLANG36 0x20000070
|
||||
#define GLM_COMPILER_CLANG37 0x20000080
|
||||
#define GLM_COMPILER_CLANG38 0x20000090
|
||||
#define GLM_COMPILER_CLANG39 0x200000A0
|
||||
|
||||
// Build model
|
||||
#define GLM_MODEL_32 0x00000010
|
||||
@ -167,43 +175,43 @@
|
||||
#elif defined(__clang__)
|
||||
# if GLM_PLATFORM & GLM_PLATFORM_APPLE
|
||||
# if __clang_major__ == 5 && __clang_minor__ == 0
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM33
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG33
|
||||
# elif __clang_major__ == 5 && __clang_minor__ == 1
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM34
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG34
|
||||
# elif __clang_major__ == 6 && __clang_minor__ == 0
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM35
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG35
|
||||
# elif __clang_major__ == 6 && __clang_minor__ >= 1
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM36
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG36
|
||||
# elif __clang_major__ >= 7
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM37
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG37
|
||||
# else
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG
|
||||
# endif
|
||||
# else
|
||||
# if __clang_major__ == 3 && __clang_minor__ == 0
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM30
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG30
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 1
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM31
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG31
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 2
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM32
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG32
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 3
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM33
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG33
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 4
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM34
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG34
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 5
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM35
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG35
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 6
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM36
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG36
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 7
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM37
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG37
|
||||
# elif __clang_major__ == 3 && __clang_minor__ == 8
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM38
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG38
|
||||
# elif __clang_major__ == 3 && __clang_minor__ >= 9
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM39
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG39
|
||||
# elif __clang_major__ >= 4
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM39
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG39
|
||||
# else
|
||||
# define GLM_COMPILER GLM_COMPILER_LLVM
|
||||
# define GLM_COMPILER GLM_COMPILER_CLANG
|
||||
# endif
|
||||
# endif
|
||||
|
||||
@ -247,10 +255,24 @@
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC51)
|
||||
# elif (__GNUC__ == 5) && (__GNUC_MINOR__ == 2)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC52)
|
||||
# elif (__GNUC__ == 5) && (__GNUC_MINOR__ >= 3)
|
||||
# elif (__GNUC__ == 5) && (__GNUC_MINOR__ == 3)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC53)
|
||||
# elif (__GNUC__ >= 6)
|
||||
# elif (__GNUC__ == 5) && (__GNUC_MINOR__ >= 4)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC54)
|
||||
# elif (__GNUC__ == 6) && (__GNUC_MINOR__ == 0)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC60)
|
||||
# elif (__GNUC__ == 6) && (__GNUC_MINOR__ == 1)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC61)
|
||||
# elif (__GNUC__ == 6) && (__GNUC_MINOR__ >= 2)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC62)
|
||||
# elif (__GNUC__ == 7) && (__GNUC_MINOR__ == 0)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC70)
|
||||
# elif (__GNUC__ == 7) && (__GNUC_MINOR__ == 1)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC71)
|
||||
# elif (__GNUC__ == 7) && (__GNUC_MINOR__ == 2)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC72)
|
||||
# elif (__GNUC__ >= 8)
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC80)
|
||||
# else
|
||||
# define GLM_COMPILER (GLM_COMPILER_GCC)
|
||||
# endif
|
||||
@ -321,7 +343,7 @@
|
||||
# define GLM_ARCH (GLM_ARCH_SSE3)
|
||||
#elif defined(GLM_FORCE_SSE2)
|
||||
# define GLM_ARCH (GLM_ARCH_SSE2)
|
||||
#elif (GLM_COMPILER & (GLM_COMPILER_LLVM | GLM_COMPILER_GCC)) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_LINUX))
|
||||
#elif (GLM_COMPILER & (GLM_COMPILER_CLANG | GLM_COMPILER_GCC)) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_LINUX))
|
||||
// This is Skylake set of instruction set
|
||||
# if defined(__AVX512BW__) && defined(__AVX512F__) && defined(__AVX512CD__) && defined(__AVX512VL__) && defined(__AVX512DQ__)
|
||||
# define GLM_ARCH (GLM_ARCH_AVX512)
|
||||
|
@ -78,6 +78,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
||||
- Added MIPS CPUs detection
|
||||
- Added PowerPC CPUs detection
|
||||
- Use Cuda built-in function for abs function implementation with Cuda compiler
|
||||
- Factorized GLM_COMPILER_LLVM and GLM_COMPILER_APPLE_CLANG into GLM_COMPILER_CLANG
|
||||
|
||||
##### Fixes:
|
||||
- Fixed GTX_extended_min_max filename typo #386
|
||||
@ -96,11 +97,14 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
||||
#### [GLM 0.9.7.6](https://github.com/g-truc/glm/tree/0.9.7) - 2016-0X-XX
|
||||
##### Improvements:
|
||||
- Added pkg-config file #509
|
||||
- Updated list of compiler versions detected
|
||||
- Improved C++ 11 STL detection #523
|
||||
|
||||
##### Fixes:
|
||||
- Fixed STL for C++11 detection on ICC #510
|
||||
- Fixed missing vec1 overload to length2 and distance2 functions #431
|
||||
- Fixed long long warnings when using C++98 on GCC and Clang #482
|
||||
- Fixed scalar reciprocal functions (GTC_reciprocal) #520
|
||||
|
||||
#### [GLM 0.9.7.5](https://github.com/g-truc/glm/releases/tag/0.9.7.5) - 2016-05-24
|
||||
##### Improvements:
|
||||
|
@ -62,9 +62,30 @@ int test_compiler()
|
||||
case GLM_COMPILER_GCC53:
|
||||
std::printf("GLM_COMPILER_GCC53\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC54:
|
||||
std::printf("GLM_COMPILER_GCC54\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC60:
|
||||
std::printf("GLM_COMPILER_GCC60\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC61:
|
||||
std::printf("GLM_COMPILER_GCC61\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC62:
|
||||
std::printf("GLM_COMPILER_GCC62\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC70:
|
||||
std::printf("GLM_COMPILER_GCC70\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC71:
|
||||
std::printf("GLM_COMPILER_GCC71\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC72:
|
||||
std::printf("GLM_COMPILER_GCC72\n");
|
||||
break;
|
||||
case GLM_COMPILER_GCC80:
|
||||
std::printf("GLM_COMPILER_GCC80\n");
|
||||
break;
|
||||
default:
|
||||
std::printf("GCC version not detected\n");
|
||||
Error += 1;
|
||||
@ -75,33 +96,33 @@ int test_compiler()
|
||||
{
|
||||
std::printf("GLM_COMPILER_CUDA\n");
|
||||
}
|
||||
else if(GLM_COMPILER & GLM_COMPILER_LLVM)
|
||||
else if(GLM_COMPILER & GLM_COMPILER_CLANG)
|
||||
{
|
||||
switch(GLM_COMPILER)
|
||||
{
|
||||
case GLM_COMPILER_LLVM32:
|
||||
std::printf("GLM_COMPILER_LLVM32\n");
|
||||
case GLM_COMPILER_CLANG32:
|
||||
std::printf("GLM_COMPILER_CLANG32\n");
|
||||
break;
|
||||
case GLM_COMPILER_LLVM33:
|
||||
std::printf("GLM_COMPILER_LLVM33\n");
|
||||
case GLM_COMPILER_CLANG33:
|
||||
std::printf("GLM_COMPILER_CLANG33\n");
|
||||
break;
|
||||
case GLM_COMPILER_LLVM34:
|
||||
std::printf("GLM_COMPILER_LLVM34\n");
|
||||
case GLM_COMPILER_CLANG34:
|
||||
std::printf("GLM_COMPILER_CLANG34\n");
|
||||
break;
|
||||
case GLM_COMPILER_LLVM35:
|
||||
std::printf("GLM_COMPILER_LLVM35\n");
|
||||
case GLM_COMPILER_CLANG35:
|
||||
std::printf("GLM_COMPILER_CLANG35\n");
|
||||
break;
|
||||
case GLM_COMPILER_LLVM36:
|
||||
std::printf("GLM_COMPILER_LLVM36\n");
|
||||
case GLM_COMPILER_CLANG36:
|
||||
std::printf("GLM_COMPILER_CLANG36\n");
|
||||
break;
|
||||
case GLM_COMPILER_LLVM37:
|
||||
std::printf("GLM_COMPILER_LLVM37\n");
|
||||
case GLM_COMPILER_CLANG37:
|
||||
std::printf("GLM_COMPILER_CLANG37\n");
|
||||
break;
|
||||
case GLM_COMPILER_LLVM38:
|
||||
std::printf("GLM_COMPILER_LLVM38\n");
|
||||
case GLM_COMPILER_CLANG38:
|
||||
std::printf("GLM_COMPILER_CLANG38\n");
|
||||
break;
|
||||
case GLM_COMPILER_LLVM39:
|
||||
std::printf("GLM_COMPILER_LLVM39\n");
|
||||
case GLM_COMPILER_CLANG39:
|
||||
std::printf("GLM_COMPILER_CLANG39\n");
|
||||
break;
|
||||
default:
|
||||
std::printf("LLVM version not detected\n");
|
||||
|
Loading…
Reference in New Issue
Block a user