summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix typo hash_test.cc -> hash_instantiated_test.cc fromGravatar Derek Mauro2023-08-17
| | | | | | | | | | c154d20abce2f1ae6bd35bd774313e351493219b and add CMake dependency on gmock #1515 PiperOrigin-RevId: 557897123 Change-Id: I3f8bbcea1f4c293e073e1f77dbbf818ce2b167bd
* StrCat: do not use intermediate buffer when result fits in SSO.Gravatar Abseil Team2023-08-17
| | | | | PiperOrigin-RevId: 557811632 Change-Id: I370fa17d2fb82a1f1ca86f84529bae31b34b18e4
* CI: Update the Linux hybrid-latest docker container used for testingGravatar Derek Mauro2023-08-16
| | | | | | | | | | | The following are the major updates * LLVM 17 branch (https://github.com/llvm/llvm-project b744f4c99cf91155c74a3c92db6f1335232ff3d) * GCC 13.2 * CMake 3.27.1 * Bazel 6.2.1 PiperOrigin-RevId: 557594251 Change-Id: I86f72c8035ab4f3b9fe602bdaf3bfb8200ec3633
* Use Abseil's implementation of absl::rotl and absl::rotr for libc++Gravatar Derek Mauro2023-08-16
| | | | | | | | | | | | | prior to 18.0 to workaround libc++ having the wrong signature for these functions. Upstream issue: https://github.com/llvm/llvm-project/issues/64544 The preprocessor conditions were inverted for readability as the conditions became more complex. PiperOrigin-RevId: 557559472 Change-Id: Ibf7a2651e13a0d2a91846bc0d72ba3a44f56747b
* Implement `Cord::Find()` and `Cord::Contains()`Gravatar Abseil Team2023-08-16
| | | | | PiperOrigin-RevId: 557523229 Change-Id: I959c0b0b14a4a96bee396d4bc09b80328060287d
* Update an old comment that refers to obsolete types.Gravatar Evan Brown2023-08-15
| | | | | PiperOrigin-RevId: 557187112 Change-Id: I7c3e4be0ab5a7451173da7a0ded53a3d227bb093
* PR #1509: Allow building when targeting WASIGravatar Anuraag Agrawal2023-08-15
| | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1509 WASI is similar to emscripten, providing a syscall layer to WebAssembly focused on server side applications. There are some config knobs that are in place to allow building the repo for emscripten which also need to support wasi (as built with LLVM). Aside from that, there are still some features it supports less than escripten, for example related to signals, causing the build to be even more limited for it. Merge ec9fa081609687035005dfdafd312754f31c3fbb into 861e53c8f075c8c4d67bd4c82217c57239fc97cf Merging this change closes #1509 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1509 from anuraaga:wasi-sdk-build ec9fa081609687035005dfdafd312754f31c3fbb PiperOrigin-RevId: 557166498 Change-Id: Ic51149d8b092fd888c9a5c383275257fc8ff4232
* Benchmark FNMatch, and use the greedy algorithm with better time and space ↵Gravatar Andy Getzendanner2023-08-14
| | | | | | | complexity and no recursion (from 233 to 53.8 ns). PiperOrigin-RevId: 557032497 Change-Id: I7a92feb3d79fa3dc1b7aa5b1097e53a9dae17c81
* Always inline prefetches.Gravatar Hannah Lin2023-08-14
| | | | | PiperOrigin-RevId: 556914455 Change-Id: Ic0169e1099384eefe285e6d354e448eb5189e397
* An FNMatch helper for upcoming functionality.Gravatar Andy Getzendanner2023-08-14
| | | | | PiperOrigin-RevId: 556898736 Change-Id: Ic310bab090d6a92036034058520ed6641be86fbc
* Speed up kTotalMorePrecise mode of Cord::EstimatedMemoryUsage() by about 25% ↵Gravatar Abseil Team2023-08-14
| | | | | | | by avoiding a redundant map lookup. PiperOrigin-RevId: 556816759 Change-Id: I971e428bf12d91720df72a91cc0bdf0513b0c270
* Add missing includes in raw_hash_set.h.Gravatar Evan Brown2023-08-11
| | | | | PiperOrigin-RevId: 556065631 Change-Id: I7e69b1495946c42fab185a1bc23e9564bfbd5e41
* Include what you spellGravatar Dmitri Gribenko2023-08-11
| | | | | PiperOrigin-RevId: 555894810 Change-Id: I349c94e7c6e7ba1dbd817aa8e4340c1dada84654
* Fixed shared Windows build in Chrome when building MediaPipe.Gravatar Abseil Team2023-08-10
| | | | | | | The MediaPipe library calls absl::SleepFor() but that causes linker errors in Chrome's (non-production) shared library build because AbslInternalSleepFor isn't exported. PiperOrigin-RevId: 555699667 Change-Id: I95033857ec13ed72ff2a80001878b5e35bbeee91
* Add StdcppWaiter to the end of the list of waiter implementationsGravatar Derek Mauro2023-08-10
| | | | | | | | | Since ABSL_INTERNAL_HAVE_STDCPP_WAITER is defined on all systems it is effectively a fallback. I left the condition there in case we have to disable it on some platform in the future. PiperOrigin-RevId: 555629066 Change-Id: I76ca78c7f36d1d02dc4950a44c66903a2aaf2a52
* Add ATTRIBUTE_LIFETIME_BOUND to Cord iterator methodsGravatar Abseil Team2023-08-10
| | | | | PiperOrigin-RevId: 555515105 Change-Id: I00929a869880cddd932ed2a08adb8f762a582738
* Use the supported method for detecting RTTI in Clang:Gravatar Derek Mauro2023-08-10
| | | | | | | ABSL_HAVE_FEATURE(cxx_rtti) PiperOrigin-RevId: 555495363 Change-Id: I4f38bbffe1195ebdf26d7ed3bc92bc865dc8dd17
* Include what you spellGravatar Dmitri Gribenko2023-08-09
| | | | | PiperOrigin-RevId: 555205956 Change-Id: I935b95c29a8d5b69fe45cc0fe1aadb7106d31df3
* Eliminate redundant code branch in `StrAppend`.Gravatar Abseil Team2023-08-09
| | | | | PiperOrigin-RevId: 555080884 Change-Id: I3f83fbeea1352587cf46fed83861cd7fb75655b0
* Include what you spellGravatar Dmitri Gribenko2023-08-08
| | | | | PiperOrigin-RevId: 554936252 Change-Id: Idb2ffbbc11aa6c98414fdd1ec38873d4687ab5e7
* Fix warnings:Gravatar Dmitri Gribenko2023-08-08
| | | | | | | | * 'DoNotOptimize<T>' is deprecated: The const-ref version of this method can permit undesired compiler optimizations in benchmarks * missing #include <string> for 'std::string' PiperOrigin-RevId: 554936149 Change-Id: Iaf06cd9b9b0762e3a514b7e1cfe4a4fd6df24083
* Fix ClangTidy warningsGravatar Dmitri Gribenko2023-08-08
| | | | | | | | * converting integer literal to bool, use bool literal instead * use '= default' to define a trivial default constructor PiperOrigin-RevId: 554935854 Change-Id: If16a435664641df049b8810044b34a05ea2b4028
* Remove a doubled up "with"Gravatar Dmitri Gribenko2023-08-08
| | | | | PiperOrigin-RevId: 554934635 Change-Id: Ia666bc28ee8ee84c633f365312760996f0816ca7
* Add ATTRIBUTE_LIFETIME_BOUND to Cord::Flatten and TryFlatGravatar Abseil Team2023-08-08
| | | | | PiperOrigin-RevId: 554898945 Change-Id: Id19acf5af56b1e7877cd73ac8420cf8e1a841b64
* Include what you spellGravatar Dmitri Gribenko2023-08-08
| | | | | PiperOrigin-RevId: 554854436 Change-Id: Ifbac5ba447528ac696ac59eced95fd752aacf4f9
* Add missing include for <iomanip>Gravatar Derek Mauro2023-08-08
| | | | | PiperOrigin-RevId: 554817008 Change-Id: If18f5992e2a65ce2e3e3cf7e0732767676c4320c
* Remove the no-op full_validation flag in the implementation details of cord.ccGravatar Dmitri Gribenko2023-08-07
| | | | | PiperOrigin-RevId: 554552096 Change-Id: I0aa1bf705841c8bcee42bd33bc8d14bc15f2728b
* Remove a reference to the global string type, which does not exist as a ↵Gravatar Dmitri Gribenko2023-08-07
| | | | | | | separate type anymore PiperOrigin-RevId: 554462574 Change-Id: I749ae0308d76580a2264f35ee8df487da81e0f7b
* Release the `DFATAL` pseudo-LogSeverity levelGravatar Derek Mauro2023-08-04
| | | | | | | | | | `DFATAL` is defined as `FATAL` in debug mode, and as `ERROR` when `NDEBUG` is defined. Closes #1279 PiperOrigin-RevId: 553904244 Change-Id: Iaa207ee65b2a39b4b7f5da241208c3d39cd5da0e
* Import of CCTZ from GitHub.Gravatar Abseil Team2023-08-04
| | | | | PiperOrigin-RevId: 553878129 Change-Id: I054a5bd4c9011155c9fe03df0f07803ad7d2ade3
* Store infoz on the heap instead of inline and store it only when we are ↵Gravatar Evan Brown2023-08-04
| | | | | | | sampling the current allocation. PiperOrigin-RevId: 553847957 Change-Id: Idd131d0362bf36bd22d9bd20df54bd9ae50f0e28
* Optimize Swissmap Match on Arm.Gravatar Connal de Souza2023-08-04
| | | | | | | | | | | | | | | | | Currently we require only a single bit to be set in each abstract bit for iterable bitmasks. However, in most cases, where we have a single match, or no matches in a group, iteration is not needed. We move the masking to the iteration function instead of having it as a requirement for iterable Bitmask construction. This is 4-8% faster for Find and Insert operations. This can hurt performance if we need to iterate many times (there are many matches in the same Group), however this is unlikely, even if we assume the table is completely full. If there are 0 or 1 matches in a group, or the first match is the correct item we are looking for, we save 1 instruction/cycle (most cases) If there are 2 matches in a group, and the first is a false positive, this is neutral (< 3%) If there are more than 2 matches in a group and the first two are false positives, this can be slower by 1 cycle/instruction per additional iteration (< 0.1%) No change to x86. PiperOrigin-RevId: 553831814 Change-Id: I08620899847eaf0086da989d829a1029ea24173a
* Update the comment for capacity_ to mention recent experiments to compress ↵Gravatar Evan Brown2023-08-03
| | | | | | | the field and store it together with size_. PiperOrigin-RevId: 553499768 Change-Id: Ia6eec6d580475a2b76a2415bfb35bcc08131ae34
* Use a shared (reader) lock in absl_flags::WasPresentOnCommandLineGravatar Abseil Team2023-08-02
| | | | | PiperOrigin-RevId: 553209806 Change-Id: I6828c3a5df1981471bca7f2f6cb16dfd60e77a96
* Update Abseil dependenciesGravatar Derek Mauro2023-08-02
| | | | | PiperOrigin-RevId: 553199830 Change-Id: Ida9fc1c51a39b8c21ffd34f95de076b1b21369bd
* Rollback of "Speed up StrAppend by up to 4x."Gravatar Abseil Team2023-08-02
| | | | | PiperOrigin-RevId: 553158292 Change-Id: I28350321550accd72da2f9f6f5992af311fe4b00
* Implement AbslStringify for crc32c_t in order to support absl::StrFormat ↵Gravatar Abseil Team2023-08-01
| | | | | | | natively PiperOrigin-RevId: 552940359 Change-Id: I925764757404c0c9f2a13ed729190d51f4ac46cf
* Changes absl::crc32c_t insertion operator (<<) to return value as 0-padded ↵Gravatar Abseil Team2023-08-01
| | | | | | | hex instead of dec PiperOrigin-RevId: 552927211 Change-Id: I0375d60a9df4cdfc694fe8d3b3d790f80fc614a1
* PR #1500: Define MAP_ANONYMOUS if not definedGravatar Ryan Schmidt2023-08-01
| | | | | | | | | | | | Included are additional automated edits by clang-format on import. Merge d74896699faacc4a1667603e52e72cbdc8006cf6 into 22091f4c0d6626b3ef40446ce3d4ccab19425ca3 Merging this change closes #1500 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1500 from ryandesign:MAP_ANONYMOUS d74896699faacc4a1667603e52e72cbdc8006cf6 PiperOrigin-RevId: 552922776 Change-Id: I96a0395cb5e7156d7c7a889491c5d0b4cf755819
* raw_hash_set_test: Expect tsan to catch heap-use-after-free on iterators ↵Gravatar Dino Radakovic2023-08-01
| | | | | | | invalidated by rehashing PiperOrigin-RevId: 552901078 Change-Id: I137d01fe87b1bbf591b400305f6f7919982fc1c9
* Import of CCTZ from GitHub.Gravatar Abseil Team2023-08-01
| | | | | PiperOrigin-RevId: 552848883 Change-Id: Ibcf4b59e2ab671d8dd8fddcbc9d74d4c8cd3f0ff
* InlinedVector: Disable CFI checking on the const GetInlinedData() pathGravatar Derek Mauro2023-08-01
| | | | | | | | | | as well. Some empty cases can trigger this. See also: https://clang.llvm.org/docs/ControlFlowIntegrity.html#bad-cast-checking. PiperOrigin-RevId: 552846765 Change-Id: I6adb3c0c73efec841ffe8fdac4342f641c68ddbe
* Speed up StrAppend by up to 4x.Gravatar Abseil Team2023-08-01
| | | | | PiperOrigin-RevId: 552802740 Change-Id: I662da1b03bfffb7939b44ea3850566d3c209c6cc
* Remove deprecated function.Gravatar Abseil Team2023-07-31
| | | | | PiperOrigin-RevId: 552638642 Change-Id: I6b43289ca10ee9aecd6b848e78471863b22b01d1
* PR #1498: Fix order of link options in pkg-config filesGravatar Stan Hu2023-07-31
| | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1498 In Windows, a few libraries (`dbghelp`, `advapi32`, and `bcrypt`) are added via link options. However, the .pc files produced for pkg-config erroneously include them before the abseil libraries. This can cause undefined references when trying to build against abseil. This commit swaps the order and adds the custom link options after the abseil dependencies. The following is a list of `.pc` files affected by this and the additional link options used: * all: `-L${libdir}` * `absl_base.pc`: `-ladvapi32` * `absl_random_internal_seed_material.pc`: `-lbcrypt` * `absl_symbolize.pc`: `-ldbghelp` Closes https://github.com/abseil/abseil-cpp/issues/1497 Merge af61f6d5d5fa7b390fc2e009652cd6da68b0fd38 into c9c0fd5185067208e1cc4227d16122571762af39 Merging this change closes #1498 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1498 from stanhu:sh-fix-pc-link-order af61f6d5d5fa7b390fc2e009652cd6da68b0fd38 PiperOrigin-RevId: 552564626 Change-Id: I9d2a6ab99993bb4315dc94eade2cd419f1109c13
* PR #1495: CMake: Link CoreFoundation with -frameworkGravatar Daniel Schürmann2023-07-31
| | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1495 This fixes https://github.com/abseil/abseil-cpp/issues/1494 With CMake 3.24 we can also use `$<LINK_LIBRARY:FRAMEWORK,CoreFoundation>` but abseil is still at CMake 3.10 The change has been tested here: https://github.com/daschuer/vcpkg/actions/runs/5670741925 Merge f3ff6bc01ff45970d2b803ca51421483b423b72b into c9c0fd5185067208e1cc4227d16122571762af39 Merging this change closes #1495 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1495 from daschuer:framework-link-fix f3ff6bc01ff45970d2b803ca51421483b423b72b PiperOrigin-RevId: 552564485 Change-Id: I57b580e5795c54865576110e56220128d8b603b8
* raw_hash_set_test: Match lowercase "invalid iterator" in death testsGravatar Dino Radakovic2023-07-31
| | | | | PiperOrigin-RevId: 552520562 Change-Id: I5d311871afbc2906894c3b754a503a6abace8ceb
* Refactor raw_hash_set deallocation to pass CommonFields instead of passing ↵Gravatar Evan Brown2023-07-27
| | | | | | | | the results of a bunch of accessors of CommonFields. Motivation: this makes it easier to refactor CommonFields to be smaller. PiperOrigin-RevId: 551616928 Change-Id: I3710443fb156537d716944584bea02f945559e99
* InlinedVector: Disable CFI checking during the reinterpret_cast on theGravatar Derek Mauro2023-07-27
| | | | | | | | | | heap allocation path. The cast occurs before the memory is initialized. See also: https://clang.llvm.org/docs/ControlFlowIntegrity.html#bad-cast-checking. PiperOrigin-RevId: 551542366 Change-Id: Id5834892c36a5cb8ec095bcfee3e9e31f20c48ae
* Undefine internal `ABSL_FORMAT_PARSER_INTERNAL_GET_CHAR` macro after usageGravatar Abseil Team2023-07-26
| | | | | PiperOrigin-RevId: 551287955 Change-Id: Ic77831cec71f6ffe0a4e091baabe932b245269ea