- 15 Mar, 2023 3 commits
-
-
#1414 PiperOrigin-RevId: 516896705 Change-Id: Icd4ce24467ef9830ebbc68189addebb2ed1e95d4
Derek Mauro committed -
https://google.github.io/styleguide/cppguide.html#Designated_initializers recommends using designated initializers as does https://abseil.io/tips/172, but apparently they are a non-standard extension prior to C++20. For maximum compatibility, avoid using them here. Fixes #1413 PiperOrigin-RevId: 516892890 Change-Id: Id7b7857891e39eb52132c3edf70e5bf4973755af
Derek Mauro committed -
There is a path in which the guard_result_ member is not initialized; this is benign as the code makes sure that it only accesses an initialized state. Static analysis tools (such as clang-tidy) might not see that however, so to make them happy, initialize that value. PiperOrigin-RevId: 516876319 Change-Id: I1bd2e97ad9e1daaa1397f306df993de13f7e684e
Henner Zeller committed
-
- 14 Mar, 2023 3 commits
-
-
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: 516534869 Change-Id: Ib70b83e4be3f9e3f1727646975a21a1d30acb242
Derek Mauro committed -
PiperOrigin-RevId: 516411395 Change-Id: I442fc9435bd7a829802c325e2e4106aa6775c263
Gennadiy Rozental committed -
PiperOrigin-RevId: 516363556 Change-Id: Iae5e781d46dc8a8c4242ab460b57b65271b93159
Abseil Team committed
-
- 13 Mar, 2023 3 commits
-
-
timeouts, but when a relative timeout is provided, the timeout is an absolute timeout against a steady clock (when possible). This allows methods that return relative timeouts to automatically recompute the remaining duration, for instance, on suprious wakeups. PiperOrigin-RevId: 516304139 Change-Id: I7d739cb50dd749eba5dba7ac6c34d18dc53703ed
Derek Mauro committed -
PiperOrigin-RevId: 516275043 Change-Id: I906ef0d96dddf12e3738490bd26cb05753ec008c
Abseil Team committed -
PiperOrigin-RevId: 516245113 Change-Id: Idaef538c9392decbfdeb3ed3b3c109c795f92f4d
Chris Kennelly committed
-
- 10 Mar, 2023 1 commit
-
-
[absl] Update documentation to reflect hash support for std::wstring, std::u16string and std::u32stringstrings PiperOrigin-RevId: 515726337 Change-Id: I08e184ec1f7169835c034ac45a7e87293dc53078
Lawrence Wolf-Sonkin committed
-
- 09 Mar, 2023 3 commits
-
-
PiperOrigin-RevId: 515427893 Change-Id: I89e8756fcf400459b0226d14785c6511ad3e380b
Abseil Team committed -
PiperOrigin-RevId: 515396682 Change-Id: I1b07d94611323569b199e1f4d03c7c49147c6bfb
Abseil Team committed -
PiperOrigin-RevId: 515353041 Change-Id: I2c88022d50a3351f70d09a2d63020470889752d9
Dave MacLachlan committed
-
- 08 Mar, 2023 3 commits
-
-
PiperOrigin-RevId: 515105001 Change-Id: I4a8ce8291ef3df23108dd21d8adb6752cde92dd0
Copybara-Service committed -
ParseAbseilFlagsOnly To be used to parse Abseil Flags only and classify the rest of the arguments. ReportUnrecognizedFlags To be used to report unrecognized flags. PiperOrigin-RevId: 515082682 Change-Id: I73271b56cc512a5e78b5fcd035564b3672d62ca8
Gennadiy Rozental committed -
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: 515043788 Change-Id: I151127b588065bd1316273f36d7c946545c2c892
Derek Mauro committed
-
- 07 Mar, 2023 2 commits
-
-
This shows that these are member functions that do not modify a class's data.
Rose committed -
PiperOrigin-RevId: 514567673 Change-Id: I02721d424f01965a7a5e08c06487af358c853627
Abseil Team committed
-
- 06 Mar, 2023 1 commit
-
-
PiperOrigin-RevId: 514451518 Change-Id: Ic1391374c7bff08ba437ac0410631d1f701bb9ed
Abseil Team committed
-
- 03 Mar, 2023 1 commit
-
-
they are built https://github.com/abseil/abseil-cpp/issues/1407 PiperOrigin-RevId: 513684529 Change-Id: Ie0a164eea32becfef8f8e4a112aee158fd93dd7e
Derek Mauro committed
-
- 02 Mar, 2023 5 commits
-
-
Use multiple empty generations so that we can detect when iterators from different empty hashtables are compared. PiperOrigin-RevId: 513568915 Change-Id: I3f387d0bae0e86749dff540e4fdd5037304ac975
Evan Brown committed -
This avoids "error: an attribute list cannot appear here" PiperOrigin-RevId: 513430681 Change-Id: I0fd31771793ee4cb66149ef4ce3e3e064dfb260d
Derek Mauro committed -
PiperOrigin-RevId: 513430584 Change-Id: I944a4868565564f32133dbff8b7a952221bb8b88
Copybara-Service committed -
This was originally added in order to centralize the ifdefs, in cl/164484905. However, cl/337142938 undid this aspect of the change, because it broke on Android. What is left is vestigial: `Throw()` can be deleted at no loss, with a warning that should discourage us from ever reintroducing it. PiperOrigin-RevId: 513391041 Change-Id: I1608a2007eb26ee95df07f3b4b1672c034743832
Devin Jeanpierre committed -
PiperOrigin-RevId: 513379475 Change-Id: I0d7af3a0d2bf4da6eec66a5320ecc402d2e8fec8
Gennadiy Rozental committed
-
- 28 Feb, 2023 2 commits
-
-
PiperOrigin-RevId: 512979517 Change-Id: I7fe38ed246e42e6f8eb322e15c3b299215163168
Abseil Team committed -
PiperOrigin-RevId: 512974770 Change-Id: If7a8128996d2a73ac566faaa676ddd3858d51af6
Abseil Team committed
-
- 27 Feb, 2023 3 commits
-
-
PiperOrigin-RevId: 512697257 Change-Id: I828ac7a4ada482d60beba767ef9da6e2c0077c33
Gennadiy Rozental committed -
PiperOrigin-RevId: 512664112 Change-Id: I344fd425f52081c0662d7cd0ffa2eefd98fd18fe
Abseil Team committed -
PiperOrigin-RevId: 512622121 Change-Id: If90aaf7939062bd475253c372d9d7950c98c7150
Derek Mauro committed
-
- 26 Feb, 2023 1 commit
-
-
Yuriy Chernyshov committed
-
- 24 Feb, 2023 2 commits
-
-
PiperOrigin-RevId: 512155216 Change-Id: Ie66d29bd48ba8523f5fb7f835f721d9aec637eba
Abseil Team committed -
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
-
- 23 Feb, 2023 6 commits
-
-
In C++20, this happens by default, but in C++17, it's left uninitialized if no logs are sent and StartCapturingLogs is never called. The destructor then makes an attempt to access it, which is both unsafe and not very useful while it is uninitialized. Also add a test that expects the appropriate CHECK fail when StartCapturingLogs is not called. PiperOrigin-RevId: 511865440 Change-Id: Ie23ff3f901e926761d5f487e10d33c21c3bd43d3
Abseil Team committed -
Since Abseil requires CMake >= 3.10, we can remove some workarounds. PiperOrigin-RevId: 511856584 Change-Id: I0385fa87b51147b69df7e2dd18b317cf6cde83c2
Abseil Team committed -
BM_DropDeletes 73.4µs ± 0% 68.9µs ± 1% -6.22% (p=0.008 n=5+5) PiperOrigin-RevId: 511813266 Change-Id: Id28cece454d583e2dfe060e27cfc4720f987f009
Connal de Souza committed -
PiperOrigin-RevId: 511696041 Change-Id: I77a87c8721f64e0d9e9a70e08a7127312488ff21
Copybara-Service committed -
PiperOrigin-RevId: 511695308 Change-Id: I502cdc75e993582eaca5cd91ed068238936a9640
Copybara-Service committed -
Add CalculateBase64EscapeLen variations for the 3 base64 escaping methods (Base64Escape, WebSafeBase64Escape, WebSafeBase64EscapeWithPadding). Also update CalculateBase64EscapedLen() documentation (it references outdated Base64Escape API), and reference it from WebSafeBase64Escape (to match Base64Escape). PiperOrigin-RevId: 511647760 Change-Id: I7dee18645c2a779c0762bc71da75a4684ec2493f
Abseil Team committed
-
- 22 Feb, 2023 1 commit
-
-
PiperOrigin-RevId: 511539869 Change-Id: I32d5e91537b078691988e7e6d3244c682eb8d7d2
Copybara-Service committed
-