Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: IBMZ-Linux-OSS-Python/abseil-cpp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: abseil/abseil-cpp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 55 files changed
  • 5 contributors

Commits on May 6, 2025

  1. Extract WideToUtf8 helper to utf8.h.

    This change allows to reuse the conversion of `wchar_t` into UTF-8 from other code.
    It also adds tests that covers the conversion.
    
    PiperOrigin-RevId: 755365598
    Change-Id: I0f1c0b7949dec3c9874be99f01540748436532ce
    OmerMor authored and copybara-github committed May 6, 2025
    Configuration menu
    Copy the full SHA
    dd69c96 View commit details
    Browse the repository at this point in the history
  2. Remove the explicit from the constructor to a test allocator

    in hash_policy_testing.h. This is rejected by Clang when using
    the libstdc++ that ships with GCC15
    
    PiperOrigin-RevId: 755387792
    Change-Id: I1b68d80b9603289da03db44606efcf02b8c8f379
    derekmauro authored and copybara-github committed May 6, 2025
    Configuration menu
    Copy the full SHA
    2bbec17 View commit details
    Browse the repository at this point in the history
  3. Move PrepareInsertCommon from header file to cc file.

    PiperOrigin-RevId: 755434777
    Change-Id: Ic84e3dc3014b19f21ce98e8dae2529236ce4bf5e
    ezbr authored and copybara-github committed May 6, 2025
    Configuration menu
    Copy the full SHA
    c42f038 View commit details
    Browse the repository at this point in the history
  4. Use Bazel vendor mode to cache external dependencies

    on Windows and macOS
    
    Also upgrade to Bazel 8.2.1 since all platforms will need
    to use the same version of Bazel to get the most cache hits.
    Different Bazel versions have different dependencies.
    
    PiperOrigin-RevId: 755477047
    Change-Id: Ib8838c6ef1e3b55841005d877346ed8afceca15a
    derekmauro authored and copybara-github committed May 6, 2025
    Configuration menu
    Copy the full SHA
    774d410 View commit details
    Browse the repository at this point in the history
  5. Add __restrict for uses of PolicyFunctions.

    This lets the compiler know that PolicyFunctions never aliases other variables so e.g. when we write to control bytes, we don't need to reload PolicyFunctions members that we've previously accessed.
    
    PiperOrigin-RevId: 755493766
    Change-Id: Ic7729a9726da00bcaabd064ffd046a6260dd6480
    ezbr authored and copybara-github committed May 6, 2025
    Configuration menu
    Copy the full SHA
    e3a2008 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2025

  1. Fix new -Wnullability-completeness warnings found after upgrading

    the Clang version used in the Linux ARM CI to Clang 19.
    
    nullability-completeness is an all-or-nothing warning, and it is
    enabled by default. If anything is annotated, everything has to be
    annotated.
    
    There are a few types of fixes in this change. The most common is just
    to add missing annotations. In a few cases, some SFINAE methods are
    changed not to use pointers at all. In some cases, like
    cord_internal.h, I removed the single annotation as that is easier
    than doing the entire complicated file for now. cordz_test_helpers.h
    uses GoogleTest macros, which bring in pointers that can't easily be
    annotated, so I removed the annotations from this file as well.
    Tests are also opted-out of the warning.
    
    I'm not sure why the x86 Clang version didn't pick these issues up.
    
    PiperOrigin-RevId: 755844859
    Change-Id: I7d7f4cc4f6d779f52c86a4d96e07880341244491
    derekmauro authored and copybara-github committed May 7, 2025
    Configuration menu
    Copy the full SHA
    668f174 View commit details
    Browse the repository at this point in the history
  2. Linux CI update

    GCC latest is now GCC-15.1
    Clang on ARM is now Clang-19
    Bazel 8.2.1
    CMake 4.0.1
    
    Enable Bazel "Vendor Mode" as a caching mechanism to reduce
    GitHub download failures.
    
    PiperOrigin-RevId: 755864516
    Change-Id: I9bf38e20fb8a09739406798119c50ce1aa934f43
    derekmauro authored and copybara-github committed May 7, 2025
    Configuration menu
    Copy the full SHA
    cdd3d21 View commit details
    Browse the repository at this point in the history
  3. Change some nullability annotations in absl::Span to

    absl_nullability_unknown to workaround a bug that makes nullability
    checks trigger in foreach loops, while still fixing the
    -Wnullability-completeness warnings.
    
    PiperOrigin-RevId: 755951074
    Change-Id: Ia6eea53f381d9255856a3f85efa41f0dfbd5c684
    derekmauro authored and copybara-github committed May 7, 2025
    Configuration menu
    Copy the full SHA
    9fcfa06 View commit details
    Browse the repository at this point in the history
  4. Deprecate ABSL_HAVE_STD_STRING_VIEW.

    This macro is no longer necessary now that Abseil requires C++17.
    
    PiperOrigin-RevId: 755992345
    Change-Id: Id1361d62d860a0ba4bdfca22e8f39d54812ef82c
    OmerMor authored and copybara-github committed May 7, 2025
    Configuration menu
    Copy the full SHA
    464b5b3 View commit details
    Browse the repository at this point in the history
  5. Add support for logging wide strings in absl::log.

    The logged strings are truncated to fit the available buffer in the same way as regular strings.
    
    Invalid characters are replaced by the replacement char (`U+FFFD`).
    
    Wide string literals are recorded as literals in `logging.proto.Value`.
    
    PiperOrigin-RevId: 756052375
    Change-Id: If3960b4230f923061028bd738eb209b5a82a31eb
    OmerMor authored and copybara-github committed May 7, 2025
    Configuration menu
    Copy the full SHA
    bba13cb View commit details
    Browse the repository at this point in the history
  6. Stop being strict about validating the "clone" part of mangled names

    Support for parsing mangled symbol names with a ".something" suffix
    in the demangler was originally added because the compiler was using
    that for function cloning, but since then the compiler has started
    using ".something" suffixes in many other cases, such as function
    renaming for ThinLTO and CFI. As a result, some symbols in binaries
    built with these features would fail to demangle.
    
    So instead of trying to validate what comes after the "." let's just
    stop parsing when we see a ".", so that the symbols are demangled
    correctly. This behavior is consistent with libc++.
    
    PiperOrigin-RevId: 756054147
    Change-Id: I01e9e97eee32bee05ba243b615ed26a36b59591d
    pcc authored and copybara-github committed May 7, 2025
    Configuration menu
    Copy the full SHA
    1b52dcb View commit details
    Browse the repository at this point in the history

Commits on May 8, 2025

  1. Remove dependency on wcsnlen for string length calculation.

    The `wcsnlen` function is not consistently available across all target environments. Its prior use was intended as a micro-optimization and safeguard to limit string scanning to the remaining buffer size and prevent potential issues with malformed strings lacking a null terminator.
    
    This change now relies on the implicit `std::wstring_view` constructor to determine the string length. `CopyToEncodedBuffer` will continue to handle truncation effectively, mitigating the original concerns.
    
    PiperOrigin-RevId: 756378282
    Change-Id: I858bad01724507f7926f868aa300eabad8a4358c
    OmerMor authored and copybara-github committed May 8, 2025
    Configuration menu
    Copy the full SHA
    db8171f View commit details
    Browse the repository at this point in the history
  2. Use __builtin_is_cpp_trivially_relocatable to implement

    absl::is_trivially_relocatable in a way that is compatible with PR2786
    in the upcoming C++26.
    
    https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2786r11.html
    
    This change is being made now because Chromium is reporting that a
    recent LLVM commit adds deprecation warnings for
    __is_trivially_relocatable.
    llvm/llvm-project#138835
    
    PiperOrigin-RevId: 756408712
    Change-Id: Iacf966ed2ebfd436d52d180f0dab34465b3c7176
    derekmauro authored and copybara-github committed May 8, 2025
    Configuration menu
    Copy the full SHA
    a4950fb View commit details
    Browse the repository at this point in the history
  3. Added test cases for invalid surrogates sequences.

    While these are disabled now because the current implementation does not correctly handle them, this is a starting point for a future fix.
    
    PiperOrigin-RevId: 756431459
    Change-Id: I9c498ce1a2e12baa32a46bcdc56e9354feee305a
    OmerMor authored and copybara-github committed May 8, 2025
    Configuration menu
    Copy the full SHA
    0710718 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2025

  1. Avoid requiring default-constructability of iterator type in algorith…

    …ms that use ContainerIterPairType
    
    This includes absl::c_minmax_element, absl::c_equal_range, and absl::mismatch
    
    PiperOrigin-RevId: 756846820
    Change-Id: I39f612224a98947f5ef9e9b7e53320df0bd99ce7
    Abseil Team authored and copybara-github committed May 9, 2025
    Configuration menu
    Copy the full SHA
    3eb2041 View commit details
    Browse the repository at this point in the history
  2. Rewrite WideToUtf8 for improved readability.

    This is supposed to be a zero-diff change.
    
    PiperOrigin-RevId: 756859112
    Change-Id: Ia81a84bc5d1e6f2a1299ca0ff5dbcec48583ab76
    OmerMor authored and copybara-github committed May 9, 2025
    Configuration menu
    Copy the full SHA
    83e249f View commit details
    Browse the repository at this point in the history
  3. Fix a bug of casting sizeof(slot_type) to uint16_t instead of uint32_t.

    Note that in the above static_assert, we check that sizeof(slot_type) fits in a uint32_t, not a uint16_t and the field in PolicyFunctions is a uint32_t.
    
    PiperOrigin-RevId: 756886567
    Change-Id: I5ca915b814d1da6cdc1d24152b2ebde5dec9d28b
    ezbr authored and copybara-github committed May 9, 2025
    Configuration menu
    Copy the full SHA
    4bf37d8 View commit details
    Browse the repository at this point in the history
  4. Import of CCTZ from GitHub.

    PiperOrigin-RevId: 756908046
    Change-Id: I4db2b90fd1f6097f582b90c6aa82cdc4704d8b66
    Abseil Team authored and copybara-github committed May 9, 2025
    Configuration menu
    Copy the full SHA
    9a89ea8 View commit details
    Browse the repository at this point in the history
Loading