1. 26 Mar, 2024 4 commits
    • Refactor the GCC unintialized memory warning suppression in raw_hash_set.h. · 6f0c5004
      Motivation: there are new uninitialized memory warnings when we enable small object optimization.
      PiperOrigin-RevId: 619295212
      Change-Id: If10762bab0e43c9619fc03f6d1eef5b8836bbf9a
      Evan Brown committed
    • Respect `NDEBUG_SANITIZER` · 68ce303d
      Often code needs to know that it's built with sanitizers.
      There are two common use for such information:
      1. Work around incompatibility with sanitizers
      2. Use sanitizers for more aggressive bug detection
      
      With the current `ABSL_HAVE_*_SANITIZER` we can't distinguish
      this two cased, and we didn't need that before.
      
      Now user can define `NDEBUG_SANITIZER` to ask code like this
      to avoid unnecessary checks.
      
      I am not 100% sure that `NDEBUG` is not enough.
      However relying on `NDEBUG` today will relax many tests, which
      runs in NDEBUG mode only. So new `NDEBUG_SANITIZER` is safer
      approach.
      
      PiperOrigin-RevId: 619268413
      Change-Id: I58185cd6886593a3742b8424deccdec366c2a35a
      Abseil Team committed
    • Revert integer-to-string conversion optimizations pending more thorough analysis · e7858c73
      PiperOrigin-RevId: 619261152
      Change-Id: Id3409b326c52ace0fda42537e0b91dbb2d6a2287
      Abseil Team committed
    • Fix a bug in `Cord::{Append,Prepend}(CordBuffer)`: call · 86f30194
      `MaybeRemoveEmptyCrcNode()`. Otherwise appending a `CordBuffer` an empty Cord
      with a CRC node crashes (`RemoveCrcNode()` which increases the refcount of a
      nullptr child).
      
      Cosmetics: in `Cord::InlineRep::AppendArray()`, return early for empty `src`
      before removing the empty CRC node.
      PiperOrigin-RevId: 619107278
      Change-Id: I4f1bc6b75c662f4678c61e3ef310e8597d62e2e1
      Marcin Kowalczyk committed
  2. 25 Mar, 2024 3 commits
  3. 24 Mar, 2024 1 commit
  4. 22 Mar, 2024 2 commits
  5. 21 Mar, 2024 3 commits
  6. 20 Mar, 2024 3 commits
  7. 19 Mar, 2024 5 commits
  8. 18 Mar, 2024 7 commits
  9. 15 Mar, 2024 4 commits
  10. 14 Mar, 2024 2 commits
  11. 13 Mar, 2024 5 commits
  12. 12 Mar, 2024 1 commit
    • Add extern templates for common swisstable types. · 03856129
      Motivation: mitigate linker input size increase from swisstable optimizations.
      
      Note: the changes in raw_hash_set.h are fixing build errors that happened when adding the explicit instantiations. The change in unchecked_deref is because set iterators have const reference access whereas map iterators have mutable reference access and the function is never actually called for sets (it's used in raw_hash_map) so it wasn't needed before. I'm not sure why the soo_slot/soo_iterator problems didn't cause compile errors earlier.
      PiperOrigin-RevId: 615174043
      Change-Id: Iac5eb2332a76e9b70021156fbb2b8def47a5391d
      Evan Brown committed