[folly] Fix build error C3861 (#12419)

* [folly] Fix build error C3861

* Update CONTROL
This commit is contained in:
Lily 2020-07-16 05:26:17 +08:00 committed by GitHub
parent 38e1a6465b
commit 38d635a8fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 53 additions and 1 deletions

View File

@ -1,5 +1,6 @@
Source: folly
Version: 2019.10.21.00-2
Version: 2019.10.21.00
Port-Version: 3
Homepage: https://github.com/facebook/folly
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr

View File

@ -0,0 +1,50 @@
diff --git a/folly/portability/Builtins.h b/folly/portability/Builtins.h
index 971cb88..7894333 100644
--- a/folly/portability/Builtins.h
+++ b/folly/portability/Builtins.h
@@ -41,7 +41,7 @@ FOLLY_ALWAYS_INLINE void __builtin___clear_cache(char* begin, char* end) {
}
}
-#if !defined(_MSC_VER) || (_MSC_VER < 1923)
+// #if !defined(_MSC_VER) || (_MSC_VER < 1923)
FOLLY_ALWAYS_INLINE int __builtin_clz(unsigned int x) {
unsigned long index;
return int(_BitScanReverse(&index, (unsigned long)x) ? 31 - index : 32);
@@ -93,7 +93,7 @@ FOLLY_ALWAYS_INLINE int __builtin_ctzll(unsigned long long x) {
return int(_BitScanForward64(&index, x) ? index : 64);
}
#endif
-#endif // !defined(_MSC_VER) || (_MSC_VER < 1923)
+// #endif // !defined(_MSC_VER) || (_MSC_VER < 1923)
FOLLY_ALWAYS_INLINE int __builtin_ffs(int x) {
unsigned long index;
@@ -119,15 +119,15 @@ FOLLY_ALWAYS_INLINE int __builtin_popcount(unsigned int x) {
return int(__popcnt(x));
}
-#if !defined(_MSC_VER) || (_MSC_VER < 1923)
+// #if !defined(_MSC_VER) || (_MSC_VER < 1923)
FOLLY_ALWAYS_INLINE int __builtin_popcountl(unsigned long x) {
static_assert(sizeof(x) == 4, "");
return int(__popcnt(x));
}
-#endif // !defined(_MSC_VER) || (_MSC_VER < 1923)
+// #endif // !defined(_MSC_VER) || (_MSC_VER < 1923)
#endif
-#if !defined(_MSC_VER) || (_MSC_VER < 1923)
+// #if !defined(_MSC_VER) || (_MSC_VER < 1923)
#if defined(_M_IX86)
FOLLY_ALWAYS_INLINE int __builtin_popcountll(unsigned long long x) {
return int(__popcnt((unsigned int)(x >> 32))) +
@@ -138,7 +138,7 @@ FOLLY_ALWAYS_INLINE int __builtin_popcountll(unsigned long long x) {
return int(__popcnt64(x));
}
#endif
-#endif // !defined(_MSC_VER) || (_MSC_VER < 1923)
+// #endif // !defined(_MSC_VER) || (_MSC_VER < 1923)
FOLLY_ALWAYS_INLINE void* __builtin_return_address(unsigned int frame) {
// I really hope frame is zero...

View File

@ -21,6 +21,7 @@ vcpkg_from_github(
disable-non-underscore-posix-names.patch
boost-1.70.patch
fix-addbit.patch
folly_c3861.patch
)
file(COPY