diff --git a/.gitignore b/.gitignore index 193de76..3f8e405 100644 --- a/.gitignore +++ b/.gitignore @@ -5,18 +5,3 @@ /abseil-cpp-20211102.0.tar.gz /abseil-cpp-20220623.0.tar.gz /abseil-cpp-20220623.1.tar.gz -/abseil-cpp-20230125.1.tar.gz -/abseil-cpp-20230125.2.tar.gz -/abseil-cpp-20230125.3.tar.gz -/abseil-cpp-20230802.0.tar.gz -/abseil-cpp-20230802.1.tar.gz -/abseil-cpp-20240116.0.tar.gz -/abseil-cpp-20240116.2.tar.gz -/abseil-cpp-20240722.0.tar.gz -/abseil-cpp-20240722.1.tar.gz -/abseil-cpp-20250127.0.tar.gz -/abseil-cpp-20250127.1.tar.gz -/abseil-cpp-20250512.0.tar.gz -/abseil-cpp-20250512.1.tar.gz -/abseil-cpp-20250814.0.tar.gz -/abseil-cpp-20250814.1.tar.gz diff --git a/0001-Omit-the-bind-block-in-test-Test-Mutex-FunctorCondit.patch b/0001-Omit-the-bind-block-in-test-Test-Mutex-FunctorCondit.patch deleted file mode 100644 index 11150a1..0000000 --- a/0001-Omit-the-bind-block-in-test-Test-Mutex-FunctorCondit.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 8e8c72e1cb92d63aa2aaa7f9d8ccb059250928d1 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Fri, 9 Jan 2026 07:37:42 +0000 -Subject: [PATCH] =?UTF-8?q?Omit=20the=20=E2=80=9Cbind=E2=80=9D=20block=20i?= - =?UTF-8?q?n=20test=20Test=20Mutex::FunctorCondition?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Work around failure to compile with GCC 16, -https://github.com/abseil/abseil-cpp/issues/1992. ---- - absl/synchronization/mutex_test.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/absl/synchronization/mutex_test.cc b/absl/synchronization/mutex_test.cc -index 793acf8c..7acd2e56 100644 ---- a/absl/synchronization/mutex_test.cc -+++ b/absl/synchronization/mutex_test.cc -@@ -1022,6 +1022,7 @@ TEST(Mutex, FunctorCondition) { - EXPECT_TRUE(c.Eval()); - } - -+#if 0 - { // bind - int value = 0; - auto is_positive = std::bind(std::less(), 0, std::cref(value)); -@@ -1030,6 +1031,7 @@ TEST(Mutex, FunctorCondition) { - value = 1; - EXPECT_TRUE(c.Eval()); - } -+#endif - - { // std::function - int value = 3; --- -2.52.0 - diff --git a/0001-Update-absl-allocator_traits-and-absl-pointer_traits.patch b/0001-Update-absl-allocator_traits-and-absl-pointer_traits.patch new file mode 100644 index 0000000..17466fd --- /dev/null +++ b/0001-Update-absl-allocator_traits-and-absl-pointer_traits.patch @@ -0,0 +1,760 @@ +From 5c77799d5dfcd9c4736621ad9b5fd5da611e6518 Mon Sep 17 00:00:00 2001 +From: Derek Mauro +Date: Fri, 20 Jan 2023 15:12:54 -0800 +Subject: [PATCH] Update absl::allocator_traits and absl::pointer_traits to + always use std::allocator_traits and std::pointer traits. + +Note that the reason given in the comments for these implementations was +incorrect. Both of these exist in C++11, but not all compilers had +working implementations, so Abseil backfiled them. All supported compilers +now have working implementations. + +https://en.cppreference.com/w/cpp/memory/allocator_traits +https://en.cppreference.com/w/cpp/memory/pointer_traits + +Documentation has been updated to recommend the std:: spellings. + +Fixes #1366 + +PiperOrigin-RevId: 503532746 +Change-Id: Ia437f65a4c752581195dc582a41831b479d096c6 +--- + absl/memory/memory.h | 371 ++----------------------------------- + absl/memory/memory_test.cc | 332 --------------------------------- + 2 files changed, 20 insertions(+), 683 deletions(-) + +diff --git a/absl/memory/memory.h b/absl/memory/memory.h +index d6332606..2b99c190 100644 +--- a/absl/memory/memory.h ++++ b/absl/memory/memory.h +@@ -248,6 +248,26 @@ std::weak_ptr WeakenPtr(const std::shared_ptr& ptr) { + return std::weak_ptr(ptr); + } + ++// ----------------------------------------------------------------------------- ++// Class Template: pointer_traits ++// ----------------------------------------------------------------------------- ++// ++// Historical note: Abseil once provided an implementation of ++// `std::pointer_traits` for platforms that had not yet provided it. Those ++// platforms are no longer supported. New code should simply use ++// `std::pointer_traits`. ++using std::pointer_traits; ++ ++// ----------------------------------------------------------------------------- ++// Class Template: allocator_traits ++// ----------------------------------------------------------------------------- ++// ++// Historical note: Abseil once provided an implementation of ++// `std::allocator_traits` for platforms that had not yet provided it. Those ++// platforms are no longer supported. New code should simply use ++// `std::allocator_traits`. ++using std::allocator_traits; ++ + namespace memory_internal { + + // ExtractOr::type evaluates to E if possible. Otherwise, D. +@@ -265,357 +285,6 @@ struct ExtractOr>> { + template