X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2FPortability.h;h=1792abf5966c4172b2415132b7b26ec1d68a6037;hb=b422f6b54599ddbde6f5f596ec2fbc2171816301;hp=7a48f5332487e23c6179151dac2e75e398626670;hpb=ed8c80a0e0988e4ce687f51ca832a00e4a6b7930;p=folly.git diff --git a/folly/Portability.h b/folly/Portability.h index 7a48f533..1792abf5 100644 --- a/folly/Portability.h +++ b/folly/Portability.h @@ -24,10 +24,6 @@ #include -#if FOLLY_HAVE_SCHED_H - #include -#endif - // Unaligned loads and stores namespace folly { #if FOLLY_HAVE_UNALIGNED_ACCESS @@ -109,6 +105,27 @@ constexpr bool kHasUnalignedAccess = false; # define FOLLY_PPC64 0 #endif +namespace folly { +constexpr bool kIsArchAmd64 = FOLLY_X64 == 1; +constexpr bool kIsArchAArch64 = FOLLY_A64 == 1; +constexpr bool kIsArchPPC64 = FOLLY_PPC64 == 1; +} + +namespace folly { + +#if FOLLY_SANITIZE_ADDRESS +constexpr bool kIsSanitizeAddress = true; +#else +constexpr bool kIsSanitizeAddress = false; +#endif + +#if FOLLY_SANITIZE_THREAD +constexpr bool kIsSanitizeThread = true; +#else +constexpr bool kIsSanitizeThread = false; +#endif +} + // packing is very ugly in msvc #ifdef _MSC_VER # define FOLLY_PACK_ATTR /**/ @@ -134,12 +151,10 @@ constexpr bool kHasUnalignedAccess = false; #elif defined(__clang__) || defined(__GNUC__) # define FOLLY_PUSH_WARNING _Pragma("GCC diagnostic push") # define FOLLY_POP_WARNING _Pragma("GCC diagnostic pop") -#define FOLLY_GCC_DISABLE_WARNING_INTERNAL3(warningName) #warningName -#define FOLLY_GCC_DISABLE_WARNING_INTERNAL2(warningName) \ - FOLLY_GCC_DISABLE_WARNING_INTERNAL3(warningName) -#define FOLLY_GCC_DISABLE_WARNING(warningName) \ - _Pragma(FOLLY_GCC_DISABLE_WARNING_INTERNAL2(GCC diagnostic ignored \ - FOLLY_GCC_DISABLE_WARNING_INTERNAL3(-W##warningName))) +# define FOLLY_GCC_DISABLE_WARNING_INTERNAL2(warningName) #warningName +# define FOLLY_GCC_DISABLE_WARNING(warningName) \ + _Pragma( \ + FOLLY_GCC_DISABLE_WARNING_INTERNAL2(GCC diagnostic ignored warningName)) // Disable the MSVC warnings. # define FOLLY_MSVC_DISABLE_WARNING(warningNumber) #else @@ -151,8 +166,8 @@ constexpr bool kHasUnalignedAccess = false; #ifdef HAVE_SHADOW_LOCAL_WARNINGS #define FOLLY_GCC_DISABLE_NEW_SHADOW_WARNINGS \ - FOLLY_GCC_DISABLE_WARNING(shadow-compatible-local) \ - FOLLY_GCC_DISABLE_WARNING(shadow-local) + FOLLY_GCC_DISABLE_WARNING("-Wshadow-compatible-local") \ + FOLLY_GCC_DISABLE_WARNING("-Wshadow-local") #else #define FOLLY_GCC_DISABLE_NEW_SHADOW_WARNINGS /* empty */ #endif