1. 27 Feb, 2023 2 commits
  2. 24 Feb, 2023 2 commits
    • Remove extra space in comment. · f2b52372
      PiperOrigin-RevId: 512155216
      Change-Id: Ie66d29bd48ba8523f5fb7f835f721d9aec637eba
      Abseil Team committed
    • Update the predicate for `ABSL_INTERNAL_HAS_RTTI` for Windows builds. · 8c79530e
      Abseil defines `ABSL_INTERNAL_HAS_RTTI` by:
      
      ```
      !defined(__GNUC__) || defined(__GXX_RTTI)
      ```
      
      This predicate correctly decides rtti for GNU platforms. This predicate is always true for non-GNU platforms.
      
      It is not true that rtti is always enabled for non-GNU platforms. For example, when building with `cl.exe` and disabling rtti with `\GR-`, this clause is true. This leads to errors in Windows builds that disable rtti.
      
      This default behavior is not decidably correct, but the default behavior shouldn't change. It is better to guess that rtti is on, because if rtti is actually off, compilation will fail, and no programs will be harmed.
      
      This change updates the non-default behavior to include a check for rtti on Windows platforms. This change preserves the default behavior.
      
      PiperOrigin-RevId: 512085922
      Change-Id: I1add0b9b8ca2de5d1313c8aed5ba2019632ab68a
      Abseil Team committed
  3. 23 Feb, 2023 6 commits
  4. 22 Feb, 2023 4 commits
  5. 21 Feb, 2023 6 commits
  6. 18 Feb, 2023 2 commits
  7. 17 Feb, 2023 3 commits
    • Update latest Linux container to unbreak Kokoro · a0f9b465
      PiperOrigin-RevId: 510518832
      Change-Id: I086c8f2e34312e2b0384b3c67b9c04814d41ddf0
      Derek Mauro committed
    • Convert empty constructors to default ones · ab92654a
      These make the changed constructors match closer to the other ones that are default.
      Rose committed
    • Synchronization: Add support for true relative timeouts using · ed37a45a
      monotonic clocks on Linux when the implementation uses futexes
      
      After this change, when synchronization methods that wait are passed
      an absl::Duration to limit the wait time, these methods will wait for
      that interval, even if the system clock is changed (subject to any
      limitations with how CLOCK_MONOTONIC keeps track of time). In other
      words, an observer measuring the time with a stop watch will now see
      the correct interval, even if the system clock is changed. Previously,
      the duration was added to the current time, and methods would wait
      until that time was reached on the possibly changed realtime system
      clock.
      
      The behavior of the synchronization methods that take an absl::Time is
      unchanged.  These methods always wait until the absolute point in time
      is reached and respect changes to the system clock. In other words, an
      observer will always see the timeout occur when a wall clock reaches
      that time, even if the clock is manipulated externally.
      
      Note: ABSL_PREDICT_FALSE was removed from the error case in Futex as
      timeouts are handled by this case, and timeouts are part of normal
      operation.
      PiperOrigin-RevId: 510405347
      Change-Id: I0b3ea390de97014cfa353079ae2e0c1c637aca69
      Derek Mauro committed
  8. 16 Feb, 2023 4 commits
  9. 15 Feb, 2023 2 commits
  10. 14 Feb, 2023 4 commits
  11. 13 Feb, 2023 3 commits
  12. 10 Feb, 2023 2 commits
    • Workaround MSan false positive. · cde2f0ea
      On Linux Kernels >= 5.4 MSan reports a false positive when accessing thread local storage data from loaded libraries.
      
      This was reported on Chromium (which on some build configurations uses absl as a dynamic library). More info here: crbug.com/1414573.
      
      PiperOrigin-RevId: 508645053
      Change-Id: I5d5a97e1ee7230cc23f3934a4ec5594b883918b4
      Abseil Team committed
    • Rewrite KernelTimeout to support both absolute and relative timeouts · fa485540
      APIs that take KernelTimeout as a parameter can now query if an
      absolute or relative timeout was requested. If the underlying API can
      only use one type of timeout, the code will do a reasonable
      conversion.
      
      The goal is to eventually enable the possibility of using wait times
      that are based on monotonic clocks that are safe against system clock
      steps.
      
      PiperOrigin-RevId: 508541507
      Change-Id: Id08bf13515f3e1bfd78d88393cde98a6fd3ef72c
      Derek Mauro committed