X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2FPortability.h;h=3f06c7753e743e99ffdd8f37a3efc5d320442de1;hb=5a07e203d79324b68d69f294fa38e43b9671e9b1;hp=060085c34cd2773e94cf4f3d98bed2c3244ea149;hpb=271977282fe30d3c351b5e8a6f1692d743996ed1;p=folly.git diff --git a/folly/Portability.h b/folly/Portability.h index 060085c3..3f06c775 100644 --- a/folly/Portability.h +++ b/folly/Portability.h @@ -63,7 +63,7 @@ using max_basic_alignment = max_alignment< char32_t, wchar_t, std::nullptr_t>; -} // namespace detail +} // namespace portability_detail constexpr size_t max_align_v = portability_detail::max_basic_alignment::value; @@ -184,7 +184,7 @@ namespace folly { constexpr bool kIsArchAmd64 = FOLLY_X64 == 1; constexpr bool kIsArchAArch64 = FOLLY_AARCH64 == 1; constexpr bool kIsArchPPC64 = FOLLY_PPC64 == 1; -} +} // namespace folly namespace folly { @@ -199,7 +199,13 @@ constexpr bool kIsSanitizeThread = true; #else constexpr bool kIsSanitizeThread = false; #endif -} + +#if FOLLY_SANITIZE +constexpr bool kIsSanitize = true; +#else +constexpr bool kIsSanitize = false; +#endif +} // namespace folly // packing is very ugly in msvc #ifdef _MSC_VER @@ -313,7 +319,7 @@ constexpr auto kIsDebug = false; #else constexpr auto kIsDebug = true; #endif -} +} // namespace folly // Endianness namespace folly { @@ -328,7 +334,7 @@ constexpr auto kIsLittleEndian = true; constexpr auto kIsLittleEndian = __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__; #endif constexpr auto kIsBigEndian = !kIsLittleEndian; -} +} // namespace folly #ifndef FOLLY_SSE # if defined(__SSE4_2__) @@ -393,6 +399,12 @@ constexpr auto kIsObjC = true; constexpr auto kIsObjC = false; #endif +#if FOLLY_MOBILE +constexpr auto kIsMobile = true; +#else +constexpr auto kIsMobile = false; +#endif + #if defined(__linux__) && !FOLLY_MOBILE constexpr auto kIsLinux = true; #else @@ -406,7 +418,7 @@ constexpr auto kMscVer = _MSC_VER; constexpr auto kIsWindows = false; constexpr auto kMscVer = 0; #endif -} +} // namespace folly // Define FOLLY_USE_CPP14_CONSTEXPR to be true if the compiler's C++14 // constexpr support is "good enough". @@ -429,3 +441,8 @@ constexpr auto kMscVer = 0; #if __cpp_coroutines >= 201703L || (_MSC_VER && _RESUMABLE_FUNCTIONS_SUPPORTED) #define FOLLY_HAS_COROUTINES 1 #endif + +// MSVC 2017.5 +#if __cpp_noexcept_function_type >= 201510 || _MSC_FULL_VER >= 191225816 +#define FOLLY_HAVE_NOEXCEPT_FUNCTION_TYPE 1 +#endif