diff options
Diffstat (limited to '3rdparty/bx/include/bx/macros.h')
-rw-r--r-- | 3rdparty/bx/include/bx/macros.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/3rdparty/bx/include/bx/macros.h b/3rdparty/bx/include/bx/macros.h index 131aa29fbca..d2a9826c4fc 100644 --- a/3rdparty/bx/include/bx/macros.h +++ b/3rdparty/bx/include/bx/macros.h @@ -61,7 +61,11 @@ # if BX_COMPILER_CLANG && (BX_PLATFORM_OSX || BX_PLATFORM_IOS) # define BX_THREAD /* not supported right now */ # else -# define BX_THREAD __thread +# if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 2) +# define BX_THREAD /* not supported right now */ +# else +# define BX_THREAD __thread +# endif // __GNUC__ <= 4.2 # endif // BX_COMPILER_CLANG # define BX_ATTRIBUTE(_x) __attribute__( (_x) ) # if BX_COMPILER_MSVC_COMPATIBLE @@ -134,7 +138,7 @@ # define BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG(_x) #endif // BX_COMPILER_CLANG -#if BX_COMPILER_GCC +#if BX_COMPILER_GCC && (__GNUC__ == 4) && (__GNUC_MINOR__ >= 6) # define BX_PRAGMA_DIAGNOSTIC_PUSH_GCC() _Pragma("GCC diagnostic push") # define BX_PRAGMA_DIAGNOSTIC_POP_GCC() _Pragma("GCC diagnostic pop") # define BX_PRAGMA_DIAGNOSTIC_IGNORED_GCC(_x) _Pragma(BX_STRINGIZE(GCC diagnostic ignored _x) ) @@ -169,8 +173,13 @@ #endif // BX_COMPILER_ /// -#define BX_TYPE_IS_POD(_type) (!__is_class(_type) || __is_pod(_type) ) - +#if defined(__GNUC__) && defined(__is_pod) +# define BX_TYPE_IS_POD(t) __is_pod(t) +#elif defined(_MSC_VER) +# define BX_TYPE_IS_POD(t) (!__is_class(t) || __is_pod(t)) +#else +# define BX_TYPE_IS_POD(t) false +#endif /// #define BX_CLASS_NO_DEFAULT_CTOR(_class) \ private: _class() |