Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package abseil-cpp for openSUSE:Factory 
checked in at 2025-09-30 17:39:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/abseil-cpp (Old)
 and      /work/SRC/openSUSE:Factory/.abseil-cpp.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "abseil-cpp"

Tue Sep 30 17:39:50 2025 rev:50 rq:1307930 version:20250814.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/abseil-cpp/abseil-cpp.changes    2025-08-21 
16:58:31.751958700 +0200
+++ /work/SRC/openSUSE:Factory/.abseil-cpp.new.11973/abseil-cpp.changes 
2025-09-30 17:39:52.998946124 +0200
@@ -1,0 +2,11 @@
+Mon Sep 22 19:26:07 UTC 2025 - Andreas Stieger <[email protected]>
+
+- update to 20250814.1 (Abseil LTS branch, Aug 2025, Patch 1):
+  * Fix CHECK_<OP> ambiguous overload for operator<< in older
+    versions of GCC
+  * Fix CHECK_<OP> compilation failures on older versions of GCC
+    which eagerly tries to instantiate std::underlying_type for
+    non-enum types
+  * Add missing rules_cc loads
+
+-------------------------------------------------------------------

Old:
----
  abseil-cpp-20250814.0.tar.gz

New:
----
  abseil-cpp-20250814.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ abseil-cpp.spec ++++++
--- /var/tmp/diff_new_pack.WGYrf6/_old  2025-09-30 17:39:53.798979678 +0200
+++ /var/tmp/diff_new_pack.WGYrf6/_new  2025-09-30 17:39:53.802979846 +0200
@@ -20,7 +20,7 @@
 %global soversion so.2508.0.0
 %global lname_suffix 2508_0_0
 Name:           abseil-cpp
-Version:        20250814.0
+Version:        20250814.1
 Release:        0
 Summary:        C++ libraries which augment the C++ stdlib
 License:        Apache-2.0

++++++ abseil-cpp-20250814.0.tar.gz -> abseil-cpp-20250814.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/abseil-cpp-20250814.0/MODULE.bazel 
new/abseil-cpp-20250814.1/MODULE.bazel
--- old/abseil-cpp-20250814.0/MODULE.bazel      2025-08-14 21:54:55.000000000 
+0200
+++ new/abseil-cpp-20250814.1/MODULE.bazel      2025-09-22 20:24:38.000000000 
+0200
@@ -16,7 +16,7 @@
 
 module(
     name = "abseil-cpp",
-    version = "20250814.0",
+    version = "20250814.1",
     compatibility_level = 1,
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/abseil-cpp-20250814.0/absl/base/config.h 
new/abseil-cpp-20250814.1/absl/base/config.h
--- old/abseil-cpp-20250814.0/absl/base/config.h        2025-08-14 
21:54:55.000000000 +0200
+++ new/abseil-cpp-20250814.1/absl/base/config.h        2025-09-22 
20:24:38.000000000 +0200
@@ -118,7 +118,7 @@
 // LTS releases can be obtained from
 // https://github.com/abseil/abseil-cpp/releases.
 #define ABSL_LTS_RELEASE_VERSION 20250814
-#define ABSL_LTS_RELEASE_PATCH_LEVEL 0
+#define ABSL_LTS_RELEASE_PATCH_LEVEL 1
 
 // Helper macro to convert a CPP variable to a string literal.
 #define ABSL_INTERNAL_DO_TOKEN_STR(x) #x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/abseil-cpp-20250814.0/absl/container/internal/raw_hash_set.cc 
new/abseil-cpp-20250814.1/absl/container/internal/raw_hash_set.cc
--- old/abseil-cpp-20250814.0/absl/container/internal/raw_hash_set.cc   
2025-08-14 21:54:55.000000000 +0200
+++ new/abseil-cpp-20250814.1/absl/container/internal/raw_hash_set.cc   
2025-09-22 20:24:38.000000000 +0200
@@ -679,7 +679,7 @@
   ABSL_SWISSTABLE_ASSERT(IsValidCapacity(new_capacity));
   ABSL_SWISSTABLE_ASSERT(new_capacity > policy.soo_capacity());
 
-  const size_t old_capacity = common.capacity();
+  [[maybe_unused]] const size_t old_capacity = common.capacity();
   [[maybe_unused]] ctrl_t* old_ctrl;
   [[maybe_unused]] void* old_slots;
   if constexpr (kMode == ResizeNonSooMode::kGuaranteedAllocated) {
@@ -688,7 +688,7 @@
   }
 
   const size_t slot_size = policy.slot_size;
-  const size_t slot_align = policy.slot_align;
+  [[maybe_unused]] const size_t slot_align = policy.slot_align;
   const bool has_infoz = infoz.IsSampled();
   void* alloc = policy.get_char_alloc(common);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/abseil-cpp-20250814.0/absl/debugging/BUILD.bazel 
new/abseil-cpp-20250814.1/absl/debugging/BUILD.bazel
--- old/abseil-cpp-20250814.0/absl/debugging/BUILD.bazel        2025-08-14 
21:54:55.000000000 +0200
+++ new/abseil-cpp-20250814.1/absl/debugging/BUILD.bazel        2025-09-22 
20:24:38.000000000 +0200
@@ -14,6 +14,9 @@
 # limitations under the License.
 #
 
+load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
+load("@rules_cc//cc:cc_test.bzl", "cc_test")
 load(
     "//absl:copts/configure_copts.bzl",
     "ABSL_DEFAULT_COPTS",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/abseil-cpp-20250814.0/absl/log/CMakeLists.txt 
new/abseil-cpp-20250814.1/absl/log/CMakeLists.txt
--- old/abseil-cpp-20250814.0/absl/log/CMakeLists.txt   2025-08-14 
21:54:55.000000000 +0200
+++ new/abseil-cpp-20250814.1/absl/log/CMakeLists.txt   2025-09-22 
20:24:38.000000000 +0200
@@ -47,6 +47,7 @@
     absl::base
     absl::config
     absl::core_headers
+    absl::has_ostream_operator
     absl::leak_check
     absl::log_internal_nullguard
     absl::log_internal_nullstream
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/abseil-cpp-20250814.0/absl/log/check_test_impl.inc 
new/abseil-cpp-20250814.1/absl/log/check_test_impl.inc
--- old/abseil-cpp-20250814.0/absl/log/check_test_impl.inc      2025-08-14 
21:54:55.000000000 +0200
+++ new/abseil-cpp-20250814.1/absl/log/check_test_impl.inc      2025-09-22 
20:24:38.000000000 +0200
@@ -13,6 +13,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+// SKIP_ABSL_INLINE_NAMESPACE_CHECK
+
 #ifndef ABSL_LOG_CHECK_TEST_IMPL_H_
 #define ABSL_LOG_CHECK_TEST_IMPL_H_
 
@@ -241,6 +243,18 @@
   ABSL_TEST_CHECK_LT(1, 2);
 }
 
+TEST(CHECKTest, TestBinaryChecksWithStringComparison) {
+  const std::string a = "a";
+  ABSL_TEST_CHECK_EQ(a, "a");
+  ABSL_TEST_CHECK_NE(a, "b");
+  ABSL_TEST_CHECK_GE(a, a);
+  ABSL_TEST_CHECK_GE("b", a);
+  ABSL_TEST_CHECK_LE(a, "a");
+  ABSL_TEST_CHECK_LE(a, "b");
+  ABSL_TEST_CHECK_GT("b", a);
+  ABSL_TEST_CHECK_LT(a, "b");
+}
+
 // For testing using CHECK*() on anonymous enums.
 enum { CASE_A, CASE_B };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/abseil-cpp-20250814.0/absl/log/internal/BUILD.bazel 
new/abseil-cpp-20250814.1/absl/log/internal/BUILD.bazel
--- old/abseil-cpp-20250814.0/absl/log/internal/BUILD.bazel     2025-08-14 
21:54:55.000000000 +0200
+++ new/abseil-cpp-20250814.1/absl/log/internal/BUILD.bazel     2025-09-22 
20:24:38.000000000 +0200
@@ -82,6 +82,7 @@
         "//absl/base:nullability",
         "//absl/debugging:leak_check",
         "//absl/strings",
+        "//absl/strings:has_ostream_operator",
     ],
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/abseil-cpp-20250814.0/absl/log/internal/check_op.h 
new/abseil-cpp-20250814.1/absl/log/internal/check_op.h
--- old/abseil-cpp-20250814.0/absl/log/internal/check_op.h      2025-08-14 
21:54:55.000000000 +0200
+++ new/abseil-cpp-20250814.1/absl/log/internal/check_op.h      2025-09-22 
20:24:38.000000000 +0200
@@ -40,6 +40,7 @@
 #include "absl/log/internal/nullstream.h"
 #include "absl/log/internal/strip.h"
 #include "absl/strings/has_absl_stringify.h"
+#include "absl/strings/has_ostream_operator.h"
 #include "absl/strings/string_view.h"
 
 // `ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL` wraps string literals that
@@ -357,24 +358,27 @@
                  StringifyToStreamWrapper<T>>
 Detect(...);  // Ellipsis has lowest preference when int passed.
 
-// is_streamable is true for types that have an output stream operator<<.
-template <class T, class = void>
-struct is_streamable : std::false_type {};
-
-template <class T>
-struct is_streamable<T, std::void_t<decltype(std::declval<std::ostream&>()
-                                             << std::declval<T>())>>
-    : std::true_type {};
-
 // This overload triggers when T is neither possible to print nor an enum.
 template <typename T>
 std::enable_if_t<std::negation_v<std::disjunction<
                      std::is_convertible<T, int>, std::is_enum<T>,
                      std::is_pointer<T>, std::is_same<T, std::nullptr_t>,
-                     is_streamable<T>, HasAbslStringify<T>>>,
+                     HasOstreamOperator<T>, HasAbslStringify<T>>>,
                  UnprintableWrapper>
 Detect(...);
 
+// Equivalent to the updated std::underlying_type from C++20, which is no
+// longer undefined behavior for non-enum types.
+template <typename T, typename EnableT = void>
+struct UnderlyingType {};
+
+template <typename T>
+struct UnderlyingType<T, std::enable_if_t<std::is_enum_v<T>>> {
+  using type = std::underlying_type_t<T>;
+};
+template <typename T>
+using UnderlyingTypeT = typename UnderlyingType<T>::type;
+
 // This overload triggers when T is a scoped enum that has not defined an 
output
 // stream operator (operator<<) or AbslStringify. It causes the enum value to 
be
 // converted to a type that can be streamed. For consistency with other enums, 
a
@@ -382,17 +386,17 @@
 // one backed by another integer is converted to (u)int64_t.
 template <typename T>
 std::enable_if_t<
-    std::conjunction_v<
-        std::is_enum<T>, std::negation<std::is_convertible<T, int>>,
-        std::negation<is_streamable<T>>, std::negation<HasAbslStringify<T>>>,
-    std::conditional_t<
-        std::is_same_v<std::underlying_type_t<T>, bool> ||
-            std::is_same_v<std::underlying_type_t<T>, char> ||
-            std::is_same_v<std::underlying_type_t<T>, signed char> ||
-            std::is_same_v<std::underlying_type_t<T>, unsigned char>,
-        std::underlying_type_t<T>,
-        std::conditional_t<std::is_signed_v<std::underlying_type_t<T>>, 
int64_t,
-                           uint64_t>>>
+    std::conjunction_v<std::is_enum<T>,
+                       std::negation<std::is_convertible<T, int>>,
+                       std::negation<HasOstreamOperator<T>>,
+                       std::negation<HasAbslStringify<T>>>,
+    std::conditional_t<std::is_same_v<UnderlyingTypeT<T>, bool> ||
+                           std::is_same_v<UnderlyingTypeT<T>, char> ||
+                           std::is_same_v<UnderlyingTypeT<T>, signed char> ||
+                           std::is_same_v<UnderlyingTypeT<T>, unsigned char>,
+                       UnderlyingTypeT<T>,
+                       std::conditional_t<std::is_signed_v<UnderlyingTypeT<T>>,
+                                          int64_t, uint64_t>>>
 Detect(...);
 }  // namespace detect_specialization
 

Reply via email to