summaryrefslogtreecommitdiff
path: root/src/common/cbasetypes.h
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2014-03-07 03:37:57 +0100
committerHaru <haru@dotalux.com>2014-03-07 06:41:01 +0100
commit3289aad8bd6a9b8b8e9f9491234c66160fbf6164 (patch)
tree260657219a8724ddbe443446b648bc26a96320e1 /src/common/cbasetypes.h
parent66c40e84fe1514c71e043b139cebcb45616a2854 (diff)
downloadhercules-3289aad8bd6a9b8b8e9f9491234c66160fbf6164.tar.gz
hercules-3289aad8bd6a9b8b8e9f9491234c66160fbf6164.tar.bz2
hercules-3289aad8bd6a9b8b8e9f9491234c66160fbf6164.tar.xz
hercules-3289aad8bd6a9b8b8e9f9491234c66160fbf6164.zip
Tweaked a platform check to support ARMv6+
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/common/cbasetypes.h')
-rw-r--r--src/common/cbasetypes.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h
index 654334a9b..f44e80413 100644
--- a/src/common/cbasetypes.h
+++ b/src/common/cbasetypes.h
@@ -42,6 +42,18 @@
#define __DARWIN__
#endif
+// Standardize the ARM platform version, if available (the only values we're interested in right now are >= ARMv6)
+#if defined(__ARMV6__) || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) \
+ || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) // gcc ARMv6
+#define __ARM_ARCH_VERSION__ 6
+#elif defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7S__) // gcc ARMv7
+#define __ARM_ARCH_VERSION__ 7
+#elif defined(_M_ARM) // MSVC
+#define __ARM_ARCH_VERSION__ _M_ARM
+#else
+#define __ARM_ARCH_VERSION__ 0
+#endif
+
// Necessary for __NetBSD_Version__ (defined as VVRR00PP00) on NetBSD
#ifdef __NETBSD__
#include <sys/param.h>