1. 06 Jul, 2023 3 commits
    • Rename `absl::NonNull` to `absl::Nonnull`. · 93ef827f
      The current spelling is inconsistent with standard casing rules: "nonnull" is a single word, not two.
      
      PiperOrigin-RevId: 546034114
      Change-Id: I04e5a204f4a74ebaa76031dd0b0874ca9cfa902c
      Abseil Team committed
    • symbolize_test: Add an indirection for getting the PC from function ptr. · c26cd952
      Don't assume that function ptr == PC. Adds a redirection mechanism, GetPCFromFnPtr, and enables more test cases for Emscripten/Wasm.
      
      On many (most?) platforms, the address of a function ptr is the same as its
      Program Counter (PC) for the purpose of most things, including symbolization.
      
      In Emscripten WebAssembly, the function ptr is just an index into a table of
      functions. However, the name section maps function names to their literal
      offsets into a Wasm binary. The WasmOffsetConverter is actually capable of both
      indirections, so we can effectively go from function ptr to offset into the
      binary (which is typically the "PC" for other Stack dumping things in Wasm,
      including `emscripten_pc_get_function`).
      
      More info: https://www.w3.org/TR/wasm-js-api-2/#exported-function-exotic-objects
      
      Also fix Emscripten symbolize handling for `nullptr` now that we have tests for
      that.
      
      PiperOrigin-RevId: 546006678
      Change-Id: I0d4015ca9035b004158451b36c933cad009184ba
      Tom Rybka committed
    • Correct std::optional/variant/any auto-detection for Apple platforms. · 512af68a
      In Xcode 14.3, Apple modified the OS versions which support these
      three types to exclude iOS 11 and watchOS 4. Update abseil accordingly.
      
      Those versions of the OS did _not_ actually support the types, and any
      binaries which used these types, built with prior Xcode versions,
      would've crashed on startup on an actual iOS 11 or watchOS 4 device
      due to missing symbols. As of Xcode 14.3, using them is now, correctly,
      a build failure.
      
      This change also drops the conditionals for pre-Xcode 12.5, as that is
      no longer a supported version.
      
      PiperOrigin-RevId: 546005629
      Change-Id: Ib0430307ac2ada4910f07c54cfd6e99db8ca1905
      James Y Knight committed
  2. 05 Jul, 2023 1 commit
  3. 01 Jul, 2023 1 commit
  4. 30 Jun, 2023 4 commits
  5. 29 Jun, 2023 6 commits
  6. 28 Jun, 2023 5 commits
  7. 26 Jun, 2023 2 commits
  8. 24 Jun, 2023 1 commit
  9. 21 Jun, 2023 3 commits
  10. 20 Jun, 2023 5 commits
  11. 17 Jun, 2023 1 commit
  12. 16 Jun, 2023 3 commits
    • Use std::is_final instead of a non-portable implementation · 049aa40e
      PiperOrigin-RevId: 540928490
      Change-Id: Idf022b28ce101a948be4efd5336888a66f5eacf9
      Derek Mauro committed
    • absl: fix Mutex writer starvation related to uninit priority · cef7c4e8
      Currently when we queue the first thread, we don't init its priority.
      Subsequent queued threads init priority, but they compare it against
      the first thread priority, which is uninit. Thus the order can be wrong.
      It can lead to complete false starvation in some corner cases.
      
      On Linux the default priority is 0, which matches the uninit value,
      thus the problem is harder to spot on Linux (only possible if explicit
      thread priorities are used). But on Darwin the default priority is 31,
      thus the first thread falsely looks like lower priority than subsequently
      queued threads. The added test exposes the problem on Darwin.
      
      Always initialize the priority before queuing threads.
      
      PiperOrigin-RevId: 540814133
      Change-Id: I513ce1493a67afe77d3e92fb49000b046b42a9f2
      Abseil Team committed
    • absl: move comment in mutex.cc to where it belongs · b6a417bb
      Move the comment that relates to kMuDesig close to kMuDesig definition.
      Currently it's placed in between unrelated flags.
      
      NFC
      
      PiperOrigin-RevId: 540792401
      Change-Id: I5f6a928cd9e01664812b2a7c3d9eb087c0723d7f
      Abseil Team committed
  13. 15 Jun, 2023 3 commits
  14. 14 Jun, 2023 1 commit
  15. 13 Jun, 2023 1 commit