<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a54497eda1a3763ea68635947a326347d86854a8">https://github.com/macports/macports-ports/commit/a54497eda1a3763ea68635947a326347d86854a8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a54497eda1a3763ea68635947a326347d86854a8
</span>Author: Sergey Fedorov <barracuda@macos-powerpc.org>
AuthorDate: Sat Jun 8 16:34:06 2024 +0800

<span style='display:block; white-space:pre;color:#404040;'>    folly: update to 2024.06.03.00
</span>---
 devel/folly/Portfile                               |  14 +-
 ...ak-static-trace-point-unused-variable-warn.diff |  67 ++++++++
 ...lder-systems.diff => patch-legacy-systems.diff} | 185 ++++++---------------
 3 files changed, 129 insertions(+), 137 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/folly/Portfile b/devel/folly/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c71fb8c5dc4..95ffd228e73 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/folly/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/folly/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,11 +20,11 @@ if {[string match *clang* ${configure.compiler}]} {
</span> # NB: Facebook does not do API stability, apparently, so please don't
 # upgrade without also upgrading its dependents, as listed by:
 # port list rdepends:folly
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        facebook folly 2024.01.22.00 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        facebook folly 2024.06.03.00 v
</span> revision            0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  440ea5d76c1325aa933757de92871a85111c56f0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  8423580be1c7cd6a60ae3fd7ba8ace5b26e86b80de6933901a219d7027692036 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    3968413
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  b80342399a8cc1a63a0a57eea302d0522bc5ee14 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  29c0fb464d081295f2c04c92414802b628e8c1d37b993948d22f62aed8ab2b56 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    4110562
</span> 
 categories          devel
 license             Apache-2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -71,7 +71,11 @@ cmake.generator     Ninja
</span> 
 # https://github.com/facebook/folly/pull/2124
 # https://github.com/facebook/folly/pull/1907
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   patch-older-systems.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-legacy-systems.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Ironically, commit claiming to fix unsupported platforms does the reverse
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# and breaks build of fizz. Revert it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-Revert-Break-static-trace-point-unused-variable-warn.diff
</span> 
 configure.args-append   -DBUILD_SHARED_LIBS=ON \
                         -DFOLLY_USE_JEMALLOC=0
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/folly/files/patch-Revert-Break-static-trace-point-unused-variable-warn.diff b/devel/folly/files/patch-Revert-Break-static-trace-point-unused-variable-warn.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d45ccc2ac3f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/folly/files/patch-Revert-Break-static-trace-point-unused-variable-warn.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f2bdbe90056ffe40041c3ecce2aae55c5d18ea3f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 8 Jun 2024 14:06:58 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Revert "Break static trace point unused variable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ warnings on unsupported platforms"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This reverts commit b85c08e5e5f2729f2f50dc89b5d464b9f5e58c69.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ folly/tracing/StaticTracepoint.h | 39 ++------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 37 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git folly/tracing/StaticTracepoint.h folly/tracing/StaticTracepoint.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 02e099bb3..ec931da57 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- folly/tracing/StaticTracepoint.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ folly/tracing/StaticTracepoint.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,49 +42,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FOLLY_HAVE_SDT 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// Mark variadic macro args as unused from https://stackoverflow.com/a/31470425
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED0()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED1(a) (void)(a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED2(a, b) (void)(a), FOLLY_UNUSED1(b)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED3(a, b, c) (void)(a), FOLLY_UNUSED2(b, c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED4(a, b, c, d) (void)(a), FOLLY_UNUSED3(b, c, d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED5(a, b, c, d, e) (void)(a), FOLLY_UNUSED4(b, c, d, e)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED6(a, b, c, d, e, f) (void)(a), FOLLY_UNUSED5(b, c, d, e, f)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED7(a, b, c, d, e, f, g) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  (void)(a), FOLLY_UNUSED6(b, c, d, e, f, g)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_UNUSED8(a, b, c, d, e, f, g, h) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  (void)(a), FOLLY_UNUSED7(b, c, d, e, f, g, h)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_VA_NUM_ARGS_IMPL(_0, _1, _2, _3, _4, _5, _6, _7, _8, N, ...) N
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_VA_NUM_ARGS(...) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  FOLLY_VA_NUM_ARGS_IMPL(100, ##__VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_ALL_UNUSED_IMPL_(nargs) FOLLY_UNUSED##nargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_ALL_UNUSED_IMPL(nargs) FOLLY_ALL_UNUSED_IMPL_(nargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_ALL_UNUSED(...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_ALL_UNUSED(...) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  FOLLY_ALL_UNUSED_IMPL(FOLLY_VA_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FOLLY_SDT(provider, name, ...) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   do {                                 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    FOLLY_ALL_UNUSED(__VA_ARGS__);     \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FOLLY_SDT_WITH_SEMAPHORE(provider, name, ...) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   do {                                                \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    FOLLY_ALL_UNUSED(__VA_ARGS__);                    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FOLLY_SDT_IS_ENABLED(provider, name) (false)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_SDT_SEMAPHORE(provider, name) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  folly_sdt_semaphore_##provider##_##name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_SDT_DEFINE_SEMAPHORE(provider, name)    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  extern "C" {                                        \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  unsigned short FOLLY_SDT_SEMAPHORE(provider, name); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FOLLY_SDT_DECLARE_SEMAPHORE(provider, name) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  extern "C" unsigned short FOLLY_SDT_SEMAPHORE(provider, name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FOLLY_SDT_DEFINE_SEMAPHORE(provider, name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FOLLY_SDT_DECLARE_SEMAPHORE(provider, name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/folly/files/patch-older-systems.diff b/devel/folly/files/patch-legacy-systems.diff
</span>similarity index 76%
rename from devel/folly/files/patch-older-systems.diff
rename to devel/folly/files/patch-legacy-systems.diff
<span style='display:block; white-space:pre;color:#808080;'>index 4711bd66989..8c4084c6be3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/folly/files/patch-older-systems.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/folly/files/patch-legacy-systems.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,30 +1,30 @@
</span> diff --git CMake/folly-deps.cmake CMake/folly-deps.cmake
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index c72273a73..eb4627637 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 41a513a30..70f5b589d 100644
</span> --- CMake/folly-deps.cmake
 +++ CMake/folly-deps.cmake
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -247,7 +247,7 @@ check_cxx_source_compiles("
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -246,7 +246,7 @@ check_cxx_source_compiles("
</span>    FOLLY_STDLIB_LIBCPP
  )
  
 -if (APPLE)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (APPLE AND (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (APPLE AND FOLLY_STDLIB_LIBCXX)
</span>    list (APPEND CMAKE_REQUIRED_LIBRARIES c++abi)
    list (APPEND FOLLY_LINK_LIBRARIES c++abi)
  endif ()
 diff --git CMakeLists.txt CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 01a28eeab..2383b30cb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 318a38316..9b54d5b1e 100644
</span> --- CMakeLists.txt
 +++ CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -708,7 +708,7 @@ if (BUILD_TESTS OR BUILD_BENCHMARKS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       TEST bits_test_2 SOURCES BitsTest.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -610,7 +610,7 @@ if (BUILD_TESTS OR BUILD_BENCHMARKS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DIRECTORY compression/elias_fano/test/
</span>        TEST bitvector_test SOURCES BitVectorCodingTest.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-       TEST dynamic_parser_test SOURCES DynamicParserTest.cpp
</span> -      TEST eliasfano_test SOURCES EliasFanoCodingTest.cpp
 +      TEST eliasfano_test APPLE_DISABLED SOURCES EliasFanoCodingTest.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-       TEST event_count_test SOURCES EventCountTest.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       # FunctionSchedulerTest has a lot of timing-dependent checks,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       # and tends to fail on heavily loaded systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -993,7 +993,7 @@ if (BUILD_TESTS OR BUILD_BENCHMARKS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DIRECTORY container/test/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       TEST access_test SOURCES AccessTest.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -988,7 +988,7 @@ if (BUILD_TESTS OR BUILD_BENCHMARKS)
</span>        TEST atomic_hash_map_test HANGING
          SOURCES AtomicHashMapTest.cpp
        TEST atomic_linked_list_test SOURCES AtomicLinkedListTest.cpp
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,28 +33,28 @@ index 01a28eeab..2383b30cb 100644
</span>        TEST base64_test SOURCES base64_test.cpp
        TEST clock_gettime_wrappers_test SOURCES ClockGettimeWrappersTest.cpp
        TEST concurrent_bit_set_test SOURCES ConcurrentBitSetTest.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1005,7 +1005,7 @@ if (BUILD_TESTS OR BUILD_BENCHMARKS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1001,7 +1001,7 @@ if (BUILD_TESTS OR BUILD_BENCHMARKS)
</span>        TEST cpu_id_test SOURCES CpuIdTest.cpp
        TEST demangle_test SOURCES DemangleTest.cpp
        TEST deterministic_schedule_test SOURCES DeterministicScheduleTest.cpp
 -      TEST discriminated_ptr_test SOURCES DiscriminatedPtrTest.cpp
 +      TEST discriminated_ptr_test APPLE_DISABLED SOURCES DiscriminatedPtrTest.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-       TEST dynamic_test SOURCES DynamicTest.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       TEST dynamic_converter_test SOURCES DynamicConverterTest.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       TEST dynamic_other_test SOURCES DynamicOtherTest.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       TEST endian_test SOURCES EndianTest.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       TEST exception_test SOURCES ExceptionTest.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       BENCHMARK exception_wrapper_benchmark WINDOWS_DISABLED
</span> diff --git folly/ConstexprMath.h folly/ConstexprMath.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5df7ae5a6..6fe2b6430 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3eb0fd76a..6a620aa65 100644
</span> --- folly/ConstexprMath.h
 +++ folly/ConstexprMath.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -42,15 +42,25 @@ using enable_if_floating_t =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -44,15 +44,25 @@ using enable_if_floating_t =
</span>  ///
  /// mimic: std::numbers::e_v, C++20
  template <typename T>
 +#if defined(__ppc__) || defined(__i386__)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+FOLLY_INLINE_VARIABLE constexpr T e_v = detail::enable_if_floating_t<T>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline constexpr T e_v = detail::enable_if_floating_t<T>(
</span> +    2.71828182845904523536028747135266250);
 +#else
<span style='display:block; white-space:pre;background:#ffe0e0;'>- FOLLY_INLINE_VARIABLE constexpr T e_v = detail::enable_if_floating_t<T>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inline constexpr T e_v = detail::enable_if_floating_t<T>(
</span>      2.71828182845904523536028747135266249775724709369995L);
 +#endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,20 +63,20 @@ index 5df7ae5a6..6fe2b6430 100644
</span>  /// mimic: std::numbers::ln2_v, C++20
  template <typename T>
 +#if defined(__ppc__) || defined(__i386__)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+FOLLY_INLINE_VARIABLE constexpr T ln2_v = detail::enable_if_floating_t<T>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline constexpr T ln2_v = detail::enable_if_floating_t<T>(
</span> +    0.693147180559945309417232121458176568);
 +#else
<span style='display:block; white-space:pre;background:#ffe0e0;'>- FOLLY_INLINE_VARIABLE constexpr T ln2_v = detail::enable_if_floating_t<T>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inline constexpr T ln2_v = detail::enable_if_floating_t<T>(
</span>      0.69314718055994530941723212145817656807550013436025L);
 +#endif
  
  /// e
  ///
 diff --git folly/DiscriminatedPtr.h folly/DiscriminatedPtr.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4284cdf72..582f9a6a7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index be8a9d523..5985afb94 100644
</span> --- folly/DiscriminatedPtr.h
 +++ folly/DiscriminatedPtr.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -35,8 +35,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,8 +33,8 @@
</span>  #include <folly/Portability.h>
  #include <folly/detail/DiscriminatedPtrDetail.h>
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -88,10 +88,10 @@ index 4284cdf72..582f9a6a7 100644
</span>  
  namespace folly {
 diff --git folly/File.cpp folly/File.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index f61fc3cc7..c5c9966d3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b0ac777ce..38bd0882b 100644
</span> --- folly/File.cpp
 +++ folly/File.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -118,8 +118,10 @@ File File::dupCloseOnExec() const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -120,8 +120,10 @@ File File::dupCloseOnExec() const {
</span>      int fd;
  #ifdef _WIN32
      fd = ::dup(fd_);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -104,10 +104,10 @@ index f61fc3cc7..c5c9966d3 100644
</span>      checkUnixError(fd, "dup() failed");
  
 diff --git folly/Portability.h folly/Portability.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5e1c1dee1..b59bb2358 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 874de15ac..f157b1128 100644
</span> --- folly/Portability.h
 +++ folly/Portability.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -115,12 +115,18 @@ constexpr bool kHasUnalignedAccess = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -119,12 +119,18 @@ constexpr bool kHasUnalignedAccess = false;
</span>  #define FOLLY_AARCH64 0
  #endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -127,7 +127,7 @@ index 5e1c1dee1..b59bb2358 100644
</span>  #if defined(__s390x__)
  #define FOLLY_S390X 1
  #else
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -138,6 +144,7 @@ constexpr bool kIsArchArm = FOLLY_ARM == 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -142,6 +148,7 @@ constexpr bool kIsArchArm = FOLLY_ARM == 1;
</span>  constexpr bool kIsArchAmd64 = FOLLY_X64 == 1;
  constexpr bool kIsArchAArch64 = FOLLY_AARCH64 == 1;
  constexpr bool kIsArchPPC64 = FOLLY_PPC64 == 1;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -135,7 +135,7 @@ index 5e1c1dee1..b59bb2358 100644
</span>  constexpr bool kIsArchS390X = FOLLY_S390X == 1;
  constexpr bool kIsArchRISCV64 = FOLLY_RISCV64 == 1;
  } // namespace folly
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -302,6 +309,9 @@ constexpr auto kIsLittleEndian = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -306,6 +313,9 @@ constexpr auto kIsLittleEndian = false;
</span>  #else
  constexpr auto kIsLittleEndian = true;
  #endif
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -146,7 +146,7 @@ index 5e1c1dee1..b59bb2358 100644
</span>  constexpr auto kIsLittleEndian = __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__;
  #endif
 diff --git folly/Synchronized.h folly/Synchronized.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index d563e4aec..e55eaefbf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5bb2587be..5cb6e5f6f 100644
</span> --- folly/Synchronized.h
 +++ folly/Synchronized.h
 @@ -1510,8 +1510,10 @@ class LockedPtr {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -157,73 +157,11 @@ index d563e4aec..e55eaefbf 100644
</span>      static_assert(sizeof(simulacrum) == sizeof(SynchronizedType), "mismatch");
      static_assert(alignof(simulacrum) == alignof(SynchronizedType), "mismatch");
 +#endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     constexpr auto off = offsetof(simulacrum, mutex_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     auto off = offsetof(simulacrum, mutex_);
</span>      const auto raw = reinterpret_cast<char*>(lock_.mutex());
      return reinterpret_cast<SynchronizedType*>(raw - (raw ? off : 0));
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git folly/detail/base64_detail/Base64SWAR.cpp folly/detail/base64_detail/Base64SWAR.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 72fc4278c..06d0ce4aa 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- folly/detail/base64_detail/Base64SWAR.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ folly/detail/base64_detail/Base64SWAR.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -103,8 +103,13 @@ constexpr auto kBase64SwarDecodeTable =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template <bool isURL>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- std::uint32_t base64DecodeSWARMainLoop(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     const char*& f, const char* l, char*& o) noexcept {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __POWERPC__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #warning "This code may not work on a Big-endian architecture yet."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   static_assert(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       folly::kIsLittleEndian, "Big endian requires a redesigned table");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   std::uint32_t errorAccumulator = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git folly/experimental/EliasFanoCoding.h folly/experimental/EliasFanoCoding.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 03c266d0f..43d90b8a4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- folly/experimental/EliasFanoCoding.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ folly/experimental/EliasFanoCoding.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -42,7 +42,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace folly {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace compression {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static_assert(kIsLittleEndian, "EliasFanoCoding.h requires little endianness");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __POWERPC__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #warning "This code may not work on a Big-endian architecture yet."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  static_assert(kIsLittleEndian, "EliasFanoCoding.h requires little endianness");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- constexpr size_t kCacheLineSize = 64;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git folly/hash/test/ChecksumBenchmark.cpp folly/hash/test/ChecksumBenchmark.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c9a1d7212..1f4061751 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- folly/hash/test/ChecksumBenchmark.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ folly/hash/test/ChecksumBenchmark.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19,6 +19,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <folly/Benchmark.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <folly/hash/Checksum.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- constexpr size_t kBufSize = 512 * 1024;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- uint8_t* buf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -58,7 +62,11 @@ int main(int argc, char** argv) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   gflags::ParseCommandLineFlags(&argc, &argv, true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   google::InitGoogleLogging(argv[0]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED < 101500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  buf = static_cast<uint8_t*>(malloc(kBufSize + 64));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   buf = static_cast<uint8_t*>(std::aligned_alloc(4096, kBufSize + 64));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   std::default_random_engine rng(1729); // Deterministic seed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   std::uniform_int_distribution<uint16_t> dist(0, 255);
</span> diff --git folly/io/async/AsyncUDPSocket.cpp folly/io/async/AsyncUDPSocket.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index d95698cc8..00421573a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4db5e5ab0..0e2349e44 100644
</span> --- folly/io/async/AsyncUDPSocket.cpp
 +++ folly/io/async/AsyncUDPSocket.cpp
 @@ -262,6 +262,7 @@ void AsyncUDPSocket::init(sa_family_t family, BindOptions bindOptions) {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -264,7 +202,7 @@ index d3d84bb58..8fbfbd9ba 100644
</span>  
  // Including `gtest/gtest_prod.h` would make gtest/gmock a hard dep
 diff --git folly/net/NetOps.h folly/net/NetOps.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 674a216a2..c5881a7d9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 71c1883df..c7aecaecd 100644
</span> --- folly/net/NetOps.h
 +++ folly/net/NetOps.h
 @@ -261,6 +261,16 @@ struct mmsghdr {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -317,7 +255,7 @@ index e71da91c7..2fdafe6cf 100644
</span>  }
  } // namespace folly
 diff --git folly/portability/Time.cpp folly/portability/Time.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4039ea814..1351826ea 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4039ea814..cb4fda71c 100644
</span> --- folly/portability/Time.cpp
 +++ folly/portability/Time.cpp
 @@ -37,11 +37,13 @@ static void duration_to_ts(
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -385,21 +323,15 @@ index 4039ea814..1351826ea 100644
</span>      case CLOCK_PROCESS_CPUTIME_ID:
      case CLOCK_THREAD_CPUTIME_ID: {
        DWORD adj, timeIncrement;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -198,12 +216,11 @@ extern "C" int clock_getres(clockid_t clock_id, struct timespec* res) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         errno = EINVAL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       res->tv_sec = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -203,6 +221,7 @@ extern "C" int clock_getres(clockid_t clock_id, struct timespec* res) {
</span>        res->tv_nsec = long(timeIncrement * 100);
        return 0;
      }
<span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span> +#endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span>      default:
        errno = EINVAL;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-       return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -236,6 +253,7 @@ extern "C" int clock_gettime(clockid_t clock_id, struct timespec* tp) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -236,6 +255,7 @@ extern "C" int clock_gettime(clockid_t clock_id, struct timespec* tp) {
</span>        duration_to_ts(now, tp);
        return 0;
      }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -407,39 +339,28 @@ index 4039ea814..1351826ea 100644
</span>      case CLOCK_PROCESS_CPUTIME_ID: {
        if (!GetProcessTimes(
                GetCurrentProcess(),
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -268,7 +286,7 @@ extern "C" int clock_gettime(clockid_t clock_id, struct timespec* tp) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -268,6 +288,7 @@ extern "C" int clock_gettime(clockid_t clock_id, struct timespec* tp) {
</span>            filetimeToUnsignedNanos(kernalTime) +
                filetimeToUnsignedNanos(userTime));
      }
<span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span> +#endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span>      default:
        errno = EINVAL;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-       return -1;
</span> diff --git folly/synchronization/AtomicRef.h folly/synchronization/AtomicRef.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index b4408130c..54772a164 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b82c47155..7904a6c52 100644
</span> --- folly/synchronization/AtomicRef.h
 +++ folly/synchronization/AtomicRef.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28,7 +28,9 @@ namespace detail {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template <typename T>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct atomic_ref_base {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   static_assert(sizeof(T) == sizeof(std::atomic<T>), "size mismatch");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef __ppc__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   static_assert(alignof(T) == alignof(std::atomic<T>), "alignment mismatch");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   static_assert(is_trivially_copyable_v<T>, "value not trivially-copyable");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   explicit atomic_ref_base(T& ref) : ref_(ref) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -156,9 +158,11 @@ struct make_atomic_ref_t {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   template <
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -168,9 +168,11 @@ struct make_atomic_ref_t {
</span>        typename T,
        std::enable_if_t<
<span style='display:block; white-space:pre;background:#ffe0e0;'>--          is_trivially_copyable_v<T> && sizeof(T) == sizeof(std::atomic<T>) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           std::is_trivially_copyable_v<T> &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              sizeof(T) == sizeof(std::atomic<T>) &&
</span> -              alignof(T) == alignof(std::atomic<T>),
 -          int> = 0>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+          is_trivially_copyable_v<T> && sizeof(T) == sizeof(std::atomic<T>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              sizeof(T) == sizeof(std::atomic<T>)
</span> +#ifndef __ppc__
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+          && alignof(T) == alignof(std::atomic<T>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               && alignof(T) == alignof(std::atomic<T>)
</span> +#endif
 +          , int> = 0>
    atomic_ref<T> operator()(T& ref) const {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -478,7 +399,7 @@ index f894eed63..2d7c195af 100644
</span>  class NativeSemaphore {
   public:
 diff --git folly/system/ThreadId.cpp folly/system/ThreadId.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index fa365a641..bd3760921 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 12320cb19..d4bac0a87 100644
</span> --- folly/system/ThreadId.cpp
 +++ folly/system/ThreadId.cpp
 @@ -40,9 +40,13 @@ namespace detail {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -499,10 +420,10 @@ index fa365a641..bd3760921 100644
</span>    return uint64_t(GetCurrentThreadId());
  #elif defined(__FreeBSD__)
 diff --git folly/system/ThreadName.cpp folly/system/ThreadName.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6dc5878cc..d61fd49fe 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0701d99f1..2e69750e3 100644
</span> --- folly/system/ThreadName.cpp
 +++ folly/system/ThreadName.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -56,9 +56,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -52,9 +52,9 @@
</span>  #define FOLLY_HAS_PTHREAD_SETNAME_NP_THREAD_NAME 0
  #endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -627,10 +548,10 @@ index b1deaca05..b65b53acd 100644
</span>      testMemsetImpl(buf + alignment, 256);
    }
 diff --git folly/test/OptionalTest.cpp folly/test/OptionalTest.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 016b60639..e0123348a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 060b3bd76..057e25034 100644
</span> --- folly/test/OptionalTest.cpp
 +++ folly/test/OptionalTest.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -56,9 +56,11 @@ struct NoDefault {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -74,9 +74,11 @@ struct NoDefault {
</span>  
  } // namespace
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -640,6 +561,6 @@ index 016b60639..e0123348a 100644
</span>  static_assert(sizeof(Optional<NoDefault>) == 4, "");
 +#endif
 +static_assert(sizeof(Optional<int>) == 8, "");
<span style='display:block; white-space:pre;background:#ffe0e0;'>- static_assert(sizeof(Optional<char>) == sizeof(boost::optional<char>), "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static_assert(sizeof(Optional<short>) == sizeof(boost::optional<short>), "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static_assert(sizeof(Optional<int>) == sizeof(boost::optional<int>), "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static_assert(sizeof(Optional<char>) == sizeof(std::optional<char>), "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static_assert(sizeof(Optional<short>) == sizeof(std::optional<short>), "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static_assert(sizeof(Optional<int>) == sizeof(std::optional<int>), "");
</span></pre><pre style='margin:0'>

</pre>