summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Support empty Cords with an expected checksumGravatar Derek Mauro2022-10-28
| | | | | PiperOrigin-RevId: 484578104 Change-Id: Ie4be3e4de27dc28d88395e16fd075fb10ab7a302
* Move internal details from one source file to another more appropriate sourceGravatar Andy Soffer2022-10-27
| | | | | | | file. PiperOrigin-RevId: 484419458 Change-Id: Ic2c1afa1a3434ac071c01ae2e6c75dee41b1f069
* Removes `PutPaddedString()` functionGravatar Phoebe Liang2022-10-27
| | | | | | | This function is unnecessary as it was originally used to support modifiers with `absl::StrFormat()`. This functionality is irrelevant to `absl::StrCat()`. PiperOrigin-RevId: 484339246 Change-Id: I8c4a0ee01b30aee7a83f6ab54e5465465cc9cc56
* Return uint8_t from CappedDamerauLevenshteinDistance.Gravatar Abseil Team2022-10-27
| | | | | PiperOrigin-RevId: 484181180 Change-Id: I00206c1506a25dca5555261d6500c1e54368a368
* Remove the unknown CMAKE_SYSTEM_PROCESSOR warning when configuringGravatar Derek Mauro2022-10-26
| | | | | | | | | | | ABSL_RANDOM_RANDEN_COPTS Everything works fine when this is empty Fixes #1301 PiperOrigin-RevId: 484014466 Change-Id: I2fa96d845320f23063e1e86ee2df3ac14bd44012
* Enforce Visual Studio 2017 (MSVC++ 15.0) minumumGravatar Derek Mauro2022-10-26
| | | | | PiperOrigin-RevId: 483972593 Change-Id: I5358871cdf825bbfae65bf9f5872c4fd56005fb7
* `absl::InlinedVector::swap` supports non-assignable types.Gravatar Abseil Team2022-10-25
| | | | | PiperOrigin-RevId: 483752526 Change-Id: Ie6b63a4a3cc7593e5b8bf255ba571a77d609ce04
* Improve b-tree error messages when dereferencing invalid iterators.Gravatar Evan Brown2022-10-25
| | | | | | | | - Check for invalid generation before checking for other types of invalid iterators. - Check specifically for dereferencing end() iterators. PiperOrigin-RevId: 483725646 Change-Id: Ibca19c48b1b242384683580145be8fb9ae707bc8
* Mutex: Fix stall on single-core systemsGravatar Abseil Team2022-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | On single-core systems, a thread could be preempted while holding an absl::Mutex, or even worse, the spin lock. If a FIFO thread wakes up and tries to acquire this lock, it might not be able to yield() to the sleeping thread. Within MutexDelay(), a yield() and a sleep(10us) are used to yield the CPU. The yield() would do nothing if the calling thread holds the highest priority in the system. The 10us sleep() may not be able to reach the scheduler either, if the system is slow enough. This code path is known to be reachable in the following scenarios: - a FIFO thread calls LockSlowLoop() with spin lock held by a normal thread - a FIFO thread calls LockWhen*() with the Mutex held by a normal thread for a long time - a FIFO thread calls Await*(), releases the Mutex to be held by a normal thread for a long time This CL adds a mutex global for the sleep time, and sets it using the return time of the a yield() call. Yield() must reach the scheduler even when it fails to yield to anyone, and would allow sleep() to do the same. A small constant multiplier (5) is also applied to overcome uncontrollable factors in the runtime and help sleep() to consistently yield to another thread. Upper and lower bounds for the sleep time is also controlled to block any unreasonable values. PiperOrigin-RevId: 483459711 Change-Id: I14efadbadaf9244a2462f377b515147bda651c89
* Document Base64Unescape() paddingGravatar Abseil Team2022-10-21
| | | | | PiperOrigin-RevId: 482905442 Change-Id: Ic3a1e62f8a17efee5508d94835635aa489940f2d
* Fix sign conversion warnings in memory_test.cc.Gravatar Abseil Team2022-10-21
| | | | | | Bug: chromium:1292951 PiperOrigin-RevId: 482767615 Change-Id: Ia1e812fa7bde8753b17046ed325542ad41f30f9b
* Fix a sign conversion warning.Gravatar Abseil Team2022-10-19
| | | | | | Bug: chromium:1292951 PiperOrigin-RevId: 482287305 Change-Id: I896033c7c8b2645eacab974c4364c6ba66d38cb6
* Fix a truncation warning on Windows 64-bit.Gravatar Abseil Team2022-10-18
| | | | | | Bug: chromium:1292951 PiperOrigin-RevId: 482021281 Change-Id: I01c25dcb2dae82fcee25da00aefec4484f7c409d
* Use btree iterator subtraction instead of std::distance in erase_range() and ↵Gravatar Evan Brown2022-10-18
| | | | | | | count(). PiperOrigin-RevId: 481979737 Change-Id: I69f53665b0463a7d8d80f2a3feedfdd95d32b012
* Eliminate use of internal interfaces and make the test portable and expose ↵Gravatar Gennadiy Rozental2022-10-18
| | | | | | | it to OSS. PiperOrigin-RevId: 481865072 Change-Id: I46364ec07df6aaff25911f8bd9e40dfee6c60626
* Fix various warnings for _WIN32.Gravatar Abseil Team2022-10-17
| | | | | | Bug: chromium:1292951 PiperOrigin-RevId: 481757795 Change-Id: I03c808222c6c4d3d7052576ab4b36141e5f1ebbc
* Disables StderrKnobsDefault due to order dependencyGravatar Abseil Team2022-10-17
| | | | | | | The SetLogtostderr and SetAlsologtostderr tests are setting flags that cause the stderrthreshold global value to be out of sync with the stderrthreshold flag. As a result, it is not currently possible to remove order dependency with these existing tests. PiperOrigin-RevId: 481731395 Change-Id: Ie992520982f2e69821d1d1b660e3326bf745ef0d
* Implement btree_iterator::operator-, which is faster than std::distance for ↵Gravatar Evan Brown2022-10-17
| | | | | | | | btree iterators. Note: btree_iterator::operator- is still O(N) because in the worst case (end()-begin()), we will have at least one operation per node in the tree, and there are at least N/M nodes, where M (a constant) is the maximum number of values per node. PiperOrigin-RevId: 481716874 Change-Id: Ic0225b7509208ed96b75a2dc626d2aa4a24f4946
* Merge pull request #1298 from rpjohnst:mingw-cmake-buildGravatar Copybara-Service2022-10-17
|\ | | | | | | | | PiperOrigin-RevId: 481654034 Change-Id: I8cb2ba51fec831a24a56e62022e210191e732687
* | Implement function to calculate Damerau-Levenshtein distance between two ↵Gravatar Abseil Team2022-10-17
| | | | | | | | | | | | | | strings. PiperOrigin-RevId: 481568970 Change-Id: Icb132348f62fed4c0168aac4963b3313a060890b
| * Use the `-l` form for MinGW-specific link dependenciesGravatar Russell Johnston2022-10-15
|/ | | | | This corrects the generated .pc files, so these libs match the other libs already included there.
* Change per_thread_sem_test from size medium to size large.Gravatar Evan Brown2022-10-14
| | | | | PiperOrigin-RevId: 481192073 Change-Id: I1e3296f6be4ddf73bd5c7164f4673e97a0c2c408
* Support stringification of user-defined types in AbslStringify in ↵Gravatar Andy Soffer2022-10-14
| | | | | | | | | | | | | | absl::Substitute. We are also moving some internals into an internal header. `HasAbslStringify` was not previously in an internal namespace but was intended to be and has now been moved to an internal namespace. This is in adherence to our compatibility guidelines which wave requirements for APIs within their first 30 days of public release (See https://abseil.io/about/compatibility for details). PiperOrigin-RevId: 481190705 Change-Id: I4c0c348f269ea8d76ea3d4bd5a2c41cce475dc04
* Fix "unsafe narrowing" warnings in absl, 12/12.Gravatar Abseil Team2022-10-13
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL enables these warnings and fixes the remaining known issues.) Bug: chromium:1292951 PiperOrigin-RevId: 480981210 Change-Id: I92d5023c6833e24d6aa29b10d433116329972f41
* Revert change to internal 'Rep', this causes issues for gdbGravatar Martijn Vels2022-10-13
| | | | | PiperOrigin-RevId: 480945608 Change-Id: I3e90a105c793deee02fbef322946bf7d5340dc78
* Reorganize InlineData into an inner Rep structure.Gravatar Martijn Vels2022-10-13
| | | | | | | | | | | | | | | | This moves inlined code around a bit without changing anything bar the names of things. The purpose for all this is that it greatly simplifies the process of adding memory poisining to Cord / InlineData. InlineData can have scoped poison / unpoison regions around the interface, calling into rep for the 'real code'. I.e.: Rep::as_chars() { return &inline_data[1]; } InlineData::as_chars() { Unpoisoned self(this); return rep_.as_chars(); } Likewise, it greatly simplifies intercepting the code for constructors, copy constructors and operator= logic. PiperOrigin-RevId: 480893031 Change-Id: I050c88caff2315939d95a0361ae20528be36a96b
* Remove internal `VLOG_xxx` macrosGravatar Christian Blichmann2022-10-13
| | | | | | | | Those have been exported by accident and are using internal machinery to implement verbose logging. PiperOrigin-RevId: 480815356 Change-Id: I84f6b6dac562cb27634d6538023eda66bed9a7f8
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-10-12
| | | | | PiperOrigin-RevId: 480664184 Change-Id: Id26fd22ae877ef48e5fa51d26c506a33b1473358
* `absl::InlinedVector` supports move assignment with non-assignable types.Gravatar Abseil Team2022-10-12
| | | | | PiperOrigin-RevId: 480601268 Change-Id: I5a639da57b79ae600387c81e662d5c1542b2bf99
* Change Cord internal layout, which reduces store-load penalties on ARMGravatar Martijn Vels2022-10-11
| | | | | PiperOrigin-RevId: 480511524 Change-Id: I73945b1150a2e2e75774684fb8e7364f9c1290a7
* Detects accidental multiple invocations of ↵Gravatar Abseil Team2022-10-11
| | | | | | | AnyInvocable<R(...)&&>::operator()&& by producing an error in debug mode, and clarifies that the behavior is undefined in the general case. PiperOrigin-RevId: 480392976 Change-Id: I2d4c6f213fa7c8747f125c9735272a8e47b9214b
* Fix a bug in StrFormat. This issue would have been caught by any compile-timeGravatar Andy Soffer2022-10-10
| | | | | | | | | checking but can happen for incorrect formats parsed via ParsedFormat::New. Specifically, if a user were to add length modifiers with 'v', for example the incorrect format string "%hv", the ParsedFormat would incorrectly be allowed. PiperOrigin-RevId: 480183817 Change-Id: I8510c13189fdf807cdaa7f2e1b7ed9fba2aaefb9
* Adds documentation for stringification extensionGravatar Abseil Team2022-10-10
| | | | | PiperOrigin-RevId: 480166410 Change-Id: Ie915e98747ffda0d1f0e5a72383f5dd9fc940970
* CMake: Remove check_target calls which can be problematic in case of ↵Gravatar Abseil Team2022-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | dependency cycle Also renames `_target_compile_features_if_available` CMake function to `_absl_target_compile_features_if_available` since CMake's function namespace is global. The dependency cycle can occur if absl is configured with test helpers enabled, and googletest is configured to use absl. In the case that both projects are being built from source via FetchContent with OVERRIDE_FIND_PACKAGE, depending on the order in which the two projects are added to the build, the check_target calls may fail even though the build would have otherwise succeeded. The existing `check_target` calls seem to have been originally added to detect missing gtest targets when the `GTest::` prefix was not yet in use. For target names without "::", CMake does not warn if they are undefined, and just assumes they refer to system library names. However, CMake does fail during build generation if a target name with "::" is missing; thus the check_taget calls are redundant. PiperOrigin-RevId: 480140797 Change-Id: Ic51631e4a36dd8b6f569ad6424bea15a4af0b875
* Changes mutex unlock profilingGravatar Abseil Team2022-10-07
| | | | | PiperOrigin-RevId: 479667897 Change-Id: I6085df8bfcfb009806230f8d71b576a1371a4d1f
* Add static_cast<void*> to the sources for trivial relocations to avoid ↵Gravatar Evan Brown2022-10-07
| | | | | | | spurious -Wdynamic-class-memaccess errors in the presence of other compilation errors. PiperOrigin-RevId: 479625866 Change-Id: Ia10ad35a2f58ffb3f36f996d357d5e126b181e1c
* Configure ABSL_CACHE_ALIGNED for clang-like and MSVC toolchains.Gravatar Abseil Team2022-10-07
| | | | | PiperOrigin-RevId: 479614832 Change-Id: I440d145172c93cc4043aeda36898877a331ed5ff
* Fix "unsafe narrowing" warnings in absl, 11/n.Gravatar Abseil Team2022-10-06
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on the logging facility.) Bug: chromium:1292951 PiperOrigin-RevId: 479384741 Change-Id: Id450438ea3781ce25137366ca16757e810020ad4
* Eliminate use of internal interfacesGravatar Gennadiy Rozental2022-10-06
| | | | | PiperOrigin-RevId: 479325483 Change-Id: I9c4384173ce996818e0cf749c0fc465d6e9aaf8c
* Merge pull request #1289 from keith:ks/fix-more-clang-deprecated-builtinsGravatar Copybara-Service2022-10-06
|\ | | | | | | | | PiperOrigin-RevId: 479321649 Change-Id: Icc3eba76fc17272fb1e9b1da2216394971a3d3ae
* \ Merge pull request #1285 from jun-sheaf:patch-1Gravatar Copybara-Service2022-10-06
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 479310550 Change-Id: Id42c33f58d4d0bbdf131a807540cff212f3a6bc8
| * | Add clang < 7 to conditionsGravatar Randolf J2022-10-05
| | |
| * | Merge branch 'abseil:master' into patch-1Gravatar Randolf J2022-10-05
| |\ \ | |/ / |/| |
* | | Delete LogEntry's copy ctor and assignment operator.Gravatar Andy Getzendanner2022-10-05
| | | | | | | | | | | | | | | | | | | | | This is an immutable view type, and the viewed data have a very limited lifetime. Since it's immutable and has no public constructor, there's no way to repoint one at a longer-lived copy of the data. PiperOrigin-RevId: 479089273 Change-Id: I2ea70878edc45fa1774c8fd26dee3a1b726d8b4a
* | | Make sinks provided to `AbslStringify()` usable with `absl::Format()`.Gravatar Marcin Kowalczyk2022-10-05
| | | | | | | | | | | | | | | | | | | | | | | | Such sinks must define ADL-callable `AbslFormatFlush()`. It can just forward to `Append()`. PiperOrigin-RevId: 479043790 Change-Id: I5d7d80ca1e17adf03b77726df8a52e2b4e9196ce
* | | Cast unused variable to voidGravatar Abseil Team2022-10-04
| | | | | | | | | | | | | | | | | | | | | Fixes -wunused-variable warning PiperOrigin-RevId: 478886333 Change-Id: Ib84def2ddaf6a6860606e78603c2c25865ce2814
* | | No changes in OSS.Gravatar Gennadiy Rozental2022-10-04
| | | | | | | | | | | | | | | PiperOrigin-RevId: 478869244 Change-Id: Id16eb1e5036e95a5e2a990a647f1f7090129a009
| * | Update charconv.ccGravatar Randolf J2022-10-04
| | |
| * | chore: limit to ClangGravatar Randolf J2022-10-04
| | |
| | * Fix more clang deprecated builtinsGravatar Keith Smiley2022-10-04
| |/ |/| | | | | | | | | | | | | | | If you compile with clang 15+, the uses of trivially destructible and assignable are deprecated. This sets this configuration correctly as the ifdef to fix the build. Fixes https://github.com/abseil/abseil-cpp/issues/1201 Related https://github.com/abseil/abseil-cpp/pull/1277