summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bx/include/bx/macros.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bx/include/bx/macros.h')
-rw-r--r--3rdparty/bx/include/bx/macros.h17
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()