diff options
Diffstat (limited to 'openmp/runtime/src/kmp_platform.h')
-rw-r--r-- | openmp/runtime/src/kmp_platform.h | 211 |
1 files changed, 108 insertions, 103 deletions
diff --git a/openmp/runtime/src/kmp_platform.h b/openmp/runtime/src/kmp_platform.h index 2f43cf83ff9..95cebf9c4bf 100644 --- a/openmp/runtime/src/kmp_platform.h +++ b/openmp/runtime/src/kmp_platform.h @@ -2,6 +2,7 @@ * kmp_platform.h -- header for determining operating system and architecture */ + //===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure @@ -11,171 +12,175 @@ // //===----------------------------------------------------------------------===// + #ifndef KMP_PLATFORM_H #define KMP_PLATFORM_H /* ---------------------- Operating system recognition ------------------- */ -#define KMP_OS_LINUX 0 -#define KMP_OS_FREEBSD 0 -#define KMP_OS_NETBSD 0 -#define KMP_OS_DARWIN 0 -#define KMP_OS_WINDOWS 0 -#define KMP_OS_CNK 0 -#define KMP_OS_UNIX 0 /* disjunction of KMP_OS_LINUX, KMP_OS_DARWIN etc. */ - +#define KMP_OS_LINUX 0 +#define KMP_OS_FREEBSD 0 +#define KMP_OS_NETBSD 0 +#define KMP_OS_DARWIN 0 +#define KMP_OS_WINDOWS 0 +#define KMP_OS_CNK 0 +#define KMP_OS_UNIX 0 /* disjunction of KMP_OS_LINUX, KMP_OS_DARWIN etc. */ #ifdef _WIN32 -# undef KMP_OS_WINDOWS -# define KMP_OS_WINDOWS 1 +#undef KMP_OS_WINDOWS +#define KMP_OS_WINDOWS 1 #endif -#if ( defined __APPLE__ && defined __MACH__ ) -# undef KMP_OS_DARWIN -# define KMP_OS_DARWIN 1 +#if (defined __APPLE__ && defined __MACH__) +#undef KMP_OS_DARWIN +#define KMP_OS_DARWIN 1 #endif // in some ppc64 linux installations, only the second condition is met -#if ( defined __linux ) -# undef KMP_OS_LINUX -# define KMP_OS_LINUX 1 -#elif ( defined __linux__) -# undef KMP_OS_LINUX -# define KMP_OS_LINUX 1 +#if (defined __linux) +#undef KMP_OS_LINUX +#define KMP_OS_LINUX 1 +#elif (defined __linux__) +#undef KMP_OS_LINUX +#define KMP_OS_LINUX 1 #else #endif -#if ( defined __FreeBSD__ ) -# undef KMP_OS_FREEBSD -# define KMP_OS_FREEBSD 1 +#if (defined __FreeBSD__) +#undef KMP_OS_FREEBSD +#define KMP_OS_FREEBSD 1 #endif -#if ( defined __NetBSD__ ) -# undef KMP_OS_NETBSD -# define KMP_OS_NETBSD 1 +#if (defined __NetBSD__) +#undef KMP_OS_NETBSD +#define KMP_OS_NETBSD 1 #endif -#if ( defined __bgq__ ) -# undef KMP_OS_CNK -# define KMP_OS_CNK 1 +#if (defined __bgq__) +#undef KMP_OS_CNK +#define KMP_OS_CNK 1 #endif -#if (1 != KMP_OS_LINUX + KMP_OS_FREEBSD + KMP_OS_NETBSD + KMP_OS_DARWIN + KMP_OS_WINDOWS) -# error Unknown OS +#if (1 != \ + KMP_OS_LINUX + KMP_OS_FREEBSD + KMP_OS_NETBSD + KMP_OS_DARWIN + \ + KMP_OS_WINDOWS) +#error Unknown OS #endif #if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_DARWIN -# undef KMP_OS_UNIX -# define KMP_OS_UNIX 1 +#undef KMP_OS_UNIX +#define KMP_OS_UNIX 1 #endif /* ---------------------- Architecture recognition ------------------- */ -#define KMP_ARCH_X86 0 -#define KMP_ARCH_X86_64 0 -#define KMP_ARCH_AARCH64 0 -#define KMP_ARCH_PPC64_BE 0 -#define KMP_ARCH_PPC64_LE 0 +#define KMP_ARCH_X86 0 +#define KMP_ARCH_X86_64 0 +#define KMP_ARCH_AARCH64 0 +#define KMP_ARCH_PPC64_BE 0 +#define KMP_ARCH_PPC64_LE 0 #define KMP_ARCH_PPC64 (KMP_ARCH_PPC64_LE || KMP_ARCH_PPC64_BE) -#define KMP_ARCH_MIPS 0 -#define KMP_ARCH_MIPS64 0 +#define KMP_ARCH_MIPS 0 +#define KMP_ARCH_MIPS64 0 #if KMP_OS_WINDOWS -# if defined _M_AMD64 -# undef KMP_ARCH_X86_64 -# define KMP_ARCH_X86_64 1 -# else -# undef KMP_ARCH_X86 -# define KMP_ARCH_X86 1 -# endif +#if defined _M_AMD64 +#undef KMP_ARCH_X86_64 +#define KMP_ARCH_X86_64 1 +#else +#undef KMP_ARCH_X86 +#define KMP_ARCH_X86 1 +#endif #endif #if KMP_OS_UNIX -# if defined __x86_64 -# undef KMP_ARCH_X86_64 -# define KMP_ARCH_X86_64 1 -# elif defined __i386 -# undef KMP_ARCH_X86 -# define KMP_ARCH_X86 1 -# elif defined __powerpc64__ -# if defined __LITTLE_ENDIAN__ -# undef KMP_ARCH_PPC64_LE -# define KMP_ARCH_PPC64_LE 1 -# else -# undef KMP_ARCH_PPC64_BE -# define KMP_ARCH_PPC64_BE 1 -# endif -# elif defined __aarch64__ -# undef KMP_ARCH_AARCH64 -# define KMP_ARCH_AARCH64 1 -# elif defined __mips__ -# if defined __mips64 -# undef KMP_ARCH_MIPS64 -# define KMP_ARCH_MIPS64 1 -# else -# undef KMP_ARCH_MIPS -# define KMP_ARCH_MIPS 1 -# endif -# endif -#endif - -#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7R__) || \ +#if defined __x86_64 +#undef KMP_ARCH_X86_64 +#define KMP_ARCH_X86_64 1 +#elif defined __i386 +#undef KMP_ARCH_X86 +#define KMP_ARCH_X86 1 +#elif defined __powerpc64__ +#if defined __LITTLE_ENDIAN__ +#undef KMP_ARCH_PPC64_LE +#define KMP_ARCH_PPC64_LE 1 +#else +#undef KMP_ARCH_PPC64_BE +#define KMP_ARCH_PPC64_BE 1 +#endif +#elif defined __aarch64__ +#undef KMP_ARCH_AARCH64 +#define KMP_ARCH_AARCH64 1 +#elif defined __mips__ +#if defined __mips64 +#undef KMP_ARCH_MIPS64 +#define KMP_ARCH_MIPS64 1 +#else +#undef KMP_ARCH_MIPS +#define KMP_ARCH_MIPS 1 +#endif +#endif +#endif + +#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7R__) || \ defined(__ARM_ARCH_7A__) -# define KMP_ARCH_ARMV7 1 +#define KMP_ARCH_ARMV7 1 #endif -#if defined(KMP_ARCH_ARMV7) || defined(__ARM_ARCH_6__) || \ - defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || \ - defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6T2__) || \ +#if defined(KMP_ARCH_ARMV7) || defined(__ARM_ARCH_6__) || \ + defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || \ + defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6T2__) || \ defined(__ARM_ARCH_6ZK__) -# define KMP_ARCH_ARMV6 1 +#define KMP_ARCH_ARMV6 1 #endif -#if defined(KMP_ARCH_ARMV6) || defined(__ARM_ARCH_5T__) || \ - defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) || \ +#if defined(KMP_ARCH_ARMV6) || defined(__ARM_ARCH_5T__) || \ + defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) || \ defined(__ARM_ARCH_5TEJ__) -# define KMP_ARCH_ARMV5 1 +#define KMP_ARCH_ARMV5 1 #endif -#if defined(KMP_ARCH_ARMV5) || defined(__ARM_ARCH_4__) || \ +#if defined(KMP_ARCH_ARMV5) || defined(__ARM_ARCH_4__) || \ defined(__ARM_ARCH_4T__) -# define KMP_ARCH_ARMV4 1 +#define KMP_ARCH_ARMV4 1 #endif -#if defined(KMP_ARCH_ARMV4) || defined(__ARM_ARCH_3__) || \ +#if defined(KMP_ARCH_ARMV4) || defined(__ARM_ARCH_3__) || \ defined(__ARM_ARCH_3M__) -# define KMP_ARCH_ARMV3 1 +#define KMP_ARCH_ARMV3 1 #endif -#if defined(KMP_ARCH_ARMV3) || defined(__ARM_ARCH_2__) -# define KMP_ARCH_ARMV2 1 +#if defined(KMP_ARCH_ARMV3) || defined(__ARM_ARCH_2__) +#define KMP_ARCH_ARMV2 1 #endif #if defined(KMP_ARCH_ARMV2) -# define KMP_ARCH_ARM 1 +#define KMP_ARCH_ARM 1 #endif #if defined(__MIC__) || defined(__MIC2__) -# define KMP_MIC 1 -# if __MIC2__ || __KNC__ -# define KMP_MIC1 0 -# define KMP_MIC2 1 -# else -# define KMP_MIC1 1 -# define KMP_MIC2 0 -# endif +#define KMP_MIC 1 +#if __MIC2__ || __KNC__ +#define KMP_MIC1 0 +#define KMP_MIC2 1 +#else +#define KMP_MIC1 1 +#define KMP_MIC2 0 +#endif #else -# define KMP_MIC 0 -# define KMP_MIC1 0 -# define KMP_MIC2 0 +#define KMP_MIC 0 +#define KMP_MIC1 0 +#define KMP_MIC2 0 #endif /* Specify 32 bit architectures here */ #define KMP_32_BIT_ARCH (KMP_ARCH_X86 || KMP_ARCH_ARM || KMP_ARCH_MIPS) // TODO: Fixme - This is clever, but really fugly -#if (1 != KMP_ARCH_X86 + KMP_ARCH_X86_64 + KMP_ARCH_ARM + KMP_ARCH_PPC64 + KMP_ARCH_AARCH64 + KMP_ARCH_MIPS + KMP_ARCH_MIPS64) -# error Unknown or unsupported architecture +#if (1 != \ + KMP_ARCH_X86 + KMP_ARCH_X86_64 + KMP_ARCH_ARM + KMP_ARCH_PPC64 + \ + KMP_ARCH_AARCH64 + KMP_ARCH_MIPS + KMP_ARCH_MIPS64) +#error Unknown or unsupported architecture #endif #endif // KMP_PLATFORM_H |