aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add missing includeTom Hughes2022-11-161-0/+1
| | | | | | | | | | PiperOrigin-RevId: 488955034 Change-Id: I143f3632b295098bc6ea5c6aedf7446dd91c668b
* | Refactor "RAW: " prefix formatting into FormatLogPrefix.Andy Getzendanner2022-11-164-20/+69
| | | | | | | | | | | | | | This is used when demoting regular logging inside a LogSink::Send to raw-like to avoid infinite recursive dispatch. PiperOrigin-RevId: 488934154 Change-Id: I0aaaeea0ceaaff3c4394308a7102a55befbef290
* | Minor formatting changes due to internal refactoringDerek Mauro2022-11-161-2/+3
| | | | | | | | | | PiperOrigin-RevId: 488930308 Change-Id: Ie620734e2f47df47e4000bc8eb2fff7f52939596
* | Fix typosTom Hughes2022-11-151-3/+3
| | | | | | | | | | PiperOrigin-RevId: 488799458 Change-Id: I1aaaa60c5be3260055a6f5773f78cb4043a60ac8
* | Add a new API for `extract_and_get_next()` in b-tree that returns both the ↵Evan Brown2022-11-154-6/+153
| | | | | | | | | | | | | | | | extracted node and an iterator to the next element in the container. Motivation: it can be useful, when calling `extract` to maintain an iterator next to the location of the extracted element. `std::set`, et al. allow for this because they have iterator stability. `absl::{flat,node}_hash_{set,map}` allow for this because they are guaranteed not to rehash when elements are removed so they also have iterator stability across calls to `extract()`. But b-tree doesn't support this use case without this API because removing elements can cause rebalancing, which invalidates iterators. We can get the next iterator without this API using `lower_bound(node_handle.value())`, but that requires an extra lookup. PiperOrigin-RevId: 488721247 Change-Id: Id66f17311bf53678f536e4e4f070775f5ce0c542
* | Use AnyInvocable in internal thread_poolAbseil Team2022-11-153-4/+9
| | | | | | | | | | PiperOrigin-RevId: 488676817 Change-Id: I13f15bb93ab6dda4c56caf969be3c14f84ada6a0
* | Remove absl/time/internal/zoneinfo.inc. It was used to guaranteeAbseil Team2022-11-157-833/+5
| | | | | | | | | | | | | | | | | | | | | | | | availability of a few timezones for "time_test" and "time_benchmark", but (file-based) zoneinfo is now secured via existing Bazel data/env attributes, or new CMake environment settings. This also avoids the need for employing the CCTZ zone-info-source extension mechanism (which is a win). PiperOrigin-RevId: 488673952 Change-Id: I9def9d705c8f0dca3c0bcddc2406edb098ea5da3
* | Updated documentation on use of %vTom Manshreck2022-11-151-5/+26
| | | | | | | | | | | | | | Also updated documentation around FormatSink and PutPaddedString PiperOrigin-RevId: 488651398 Change-Id: Ic6c586dbb8bea61df841a142f12d22c7e5b03f43
* | Use the correct Bazel copts in crc targetsDerek Mauro2022-11-142-1/+5
| | | | | | | | | | PiperOrigin-RevId: 488373221 Change-Id: I1e30820188cc860ce4df8fddafa04de343ec46af
* | Run the //absl/time timezone tests with a data dependency on, and aAbseil Team2022-11-142-5/+12
| | | | | | | | | | | | | | | | | | | | | | matching ${TZDIR} setting for, //absl/time/internal/cctz:zoneinfo. This eliminates any hidden dependency on /usr/share/zoneinfo, and enables the upcoming deletion of the embedded internal/zoneinfo.inc data from //absl/time:test_util. PiperOrigin-RevId: 488372848 Change-Id: If1c8525b5ca4348cb2fc3b4760819f791b6e9725
* | Stop unnecessary clearing of fields in ~raw_hash_set.Abseil Team2022-11-111-11/+13
| | | | | | | | | | | | | | | | | | | | | | Previously, ~raw_hash_set() would change *this to have the same representation as an empty hash table. This is unnecessary since nobody should be touching a destroyed hash table, and prevents future optimizations/changes that might not be able to preserve this behavior. PiperOrigin-RevId: 487899950 Change-Id: I2d4470677bdd411c2e48ef511187e39f4e7fc2f4
* | Fix throw_delegate_test when using libc++ with shared librariesDerek Mauro2022-11-101-1/+15
| | | | | | | | | | PiperOrigin-RevId: 487707178 Change-Id: Ie8f57a6327a6460ab37566b8b6f56d470f6dd2dc
* | CRC: Ensure SupportsArmCRC32PMULL() is definedDerek Mauro2022-11-102-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This fixes the build on arm64 macOS. Note that hardware acceleration is not yet enabled on arm64 when not running under Linux. Addresses the report from https://github.com/abseil/abseil-cpp/commit/1687dbf814eceb93de2d93f91b31acaab404091c#commitcomment-89529264 PiperOrigin-RevId: 487655295 Change-Id: I168dfc863c960d0b694b26dfcb85ff0fd0e95a1e
* | Improve error messages when comparing btree iterators.Evan Brown2022-11-102-8/+58
| | | | | | | | | | | | | | | | - Add assertions that the iterators are either (a) from the same container or (b) both default constructed. Standard says: "The domain of == for forward iterators is that of iterators over the same underlying sequence. However, value-initialized iterators may be compared and shall compare equal to other value-initialized iterators of the same type." - [reference](https://eel.is/c++draft/forward.iterators#2). - Also optimize IsEndIterator a bit. PiperOrigin-RevId: 487617518 Change-Id: Iefba5c3bc8caa93954671793e6929e22f419c298
* | Refactor the throw_delegate test into separate test casesDerek Mauro2022-11-101-2/+56
| | | | | | | | | | PiperOrigin-RevId: 487592054 Change-Id: Iff24f6e2a304fbc85843f10417fc3343c41333da
* | Replace std::atomic_flag with std::atomic<bool> to avoid the C++20Derek Mauro2022-11-092-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deprecation of ATOMIC_FLAG_INIT. Another option would have been to use macros to only initialize std::atomic_flag before C++20, but I decided to use one compilation path instead. The major difference between std::atomic_flag and std::atomic<bool> is that the former is guaranteed to be lock-free, but we already assume std::atomic<bool> is lock-free in many places. https://en.cppreference.com/w/cpp/atomic/atomic_flag PiperOrigin-RevId: 487397075 Change-Id: I3f1c539ec8b2ca58547282e69ed73e93243e8efe
* | Add support for enum types with AbslStringifyAbseil Team2022-11-094-3/+34
| | | | | | | | | | PiperOrigin-RevId: 487394692 Change-Id: I55e9b57055483dc921e9773c3643ea9be4f9bdf6
* | Release the CRC libraryDerek Mauro2022-11-0926-0/+4295
| | | | | | | | | | | | | | | | | | This implementation can advantage of hardware acceleration available on common CPUs when using GCC and Clang. A future update may enable this on MSVC as well. PiperOrigin-RevId: 487327024 Change-Id: I99a8f1bcbdf25297e776537e23bd0a902e0818a1
* | Improve error messages when comparing swisstable iterators.Evan Brown2022-11-092-9/+58
| | | | | | | | | | | | | | We check for comparisons of swisstable iterators from different heap allocations, which can indicate either iterators from different containers or that there was a rehash between when the iterators were initialized. PiperOrigin-RevId: 487304602 Change-Id: I5c596c5ea07948d66e048f99937f9032a630344f
* | Auto increase inlined capacity whenever it does not affect class' size.Abseil Team2022-11-093-12/+68
| | | | | | | | | | PiperOrigin-RevId: 487292771 Change-Id: I2454e28fe91017fb2954a4ad194712fcafe893d2
* | drop an unused depAndy Getzendanner2022-11-083-3/+0
| | | | | | | | | | PiperOrigin-RevId: 486867412 Change-Id: Ib54b1acaf1ea57f8f377c87261d7d52e9a48784f
* | Factor out the internal helper AppendTruncated, which is used and redefined ↵Andy Getzendanner2022-11-077-31/+80
| | | | | | | | | | | | | | in a couple places, plus several more that have yet to be released. PiperOrigin-RevId: 486759835 Change-Id: Ib1b24f287f856ca38b691fbce7e747f0f5a34626
* | Fix some invalid iterator bugs in btree_test.cc for multi{set,map} ↵Evan Brown2022-11-071-29/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | emplace{_hint} tests. Note that multi{set,map}::emplace doesn't specify in which order the new element is inserted if there are equivalent keys in the table, whereas emplace_hint specifies that the new element must be before the hint if possible. https://en.cppreference.com/w/cpp/container/multiset/emplace https://en.cppreference.com/w/cpp/container/multiset/emplace_hint Also refactor to rely on IsAssertEnabled instead of checking for NDEBUG. PiperOrigin-RevId: 486733450 Change-Id: Ie90d33c584a6caccd8301ad6fc0396234dbbfac4
* | Force a conservative allocation for pointers to methods in Condition objects.Abseil Team2022-11-073-58/+198
| | | | | | | | | | | | | | | | | | | | | | In order for Condition to work on Microsoft platforms, it has to store pointers to methods that are larger than we usually expect. MSVC pointers to methods from class hierarchies that employ multiple inheritance or virtual inheritance are strictly larger than pointers to methods in class hierarchies that only employ single inheritance. This change introduces an opaque declaration of a class, which is not fulfilled. This declaration is used to calculate the size of the Condition method pointer allocation. Because the declaration is of unspecified inheritance, the compiler is forced to use a conservatively large allocation, which will thereby accommodate all method pointer sizes. Because the `method_` and `function_` callbacks are only populated in mutually exclusive conditions, they can be allowed to take up the same space in the Condition object. This change combines the `method_` and `function_` fields and renames the new field to `callback_`. The constructor logic is updated to reflect the new field. PiperOrigin-RevId: 486701312 Change-Id: If06832cc26f27d91e295183e44dc29440af5f9db
* | Fix a few lint findings in flags' usage.ccMichael Diamond2022-11-061-2/+5
| | | | | | | | | | PiperOrigin-RevId: 486480813 Change-Id: I05292dd0550dfb4130bbe47eafa96ff5b58c040b
* | Narrow some _MSC_VER checks to not catch clang-cl.Andy Getzendanner2022-11-044-18/+26
| | | | | | | | | | PiperOrigin-RevId: 486227733 Change-Id: If492d715e5758971cf7bd0ccd748b47b1424a3c7
* | Small cleanups in logging test helpersAndy Getzendanner2022-11-033-22/+29
| | | | | | | | | | PiperOrigin-RevId: 486023797 Change-Id: I0b82754fd40c2d6fb451f304aaf1d795eed8d009
* | Import of CCTZ from GitHub.Derek Mauro2022-11-031-23/+4
| | | | | | | | | | PiperOrigin-RevId: 485921596 Change-Id: I453801e3d7b4a60ecedf173d448c8b6f51cb0b2e
* | Merge pull request #1287 from GOGOYAO:patch-1Copybara-Service2022-11-031-2/+2
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 485886212 Change-Id: Ic7a710913f8376d07b9bdeb987d007ec04e48465
| * | Initialize `Allocation` to eliminate compile errorGOGOYAO2022-10-041-2/+2
| | | | | | | | | | | | | | | | | | Class `Allocation` is not initialized and I will get a compile error like this. ``` error: ‘worklist.absl::lts_20220623::InlinedVector<absl::lts_20220623::cord_internal::CordRep*, 2, std::allocator<absl::lts_20220623::cord_internal::CordRep*> >::storage_.absl::lts_20220623::inlined_vector_internal::Storage<absl::lts_20220623::cord_internal::CordRep*, 2, std::allocator<absl::lts_20220623::cord_internal::CordRep*> >::data_.absl::lts_20220623::inlined_vector_internal::Storage<absl::lts_20220623::cord_internal::CordRep*, 2, std::allocator<absl::lts_20220623::cord_internal::CordRep*> >::Data::allocated.absl::lts_20220623::inlined_vector_internal::Storage<absl::lts_20220623::cord_internal::CordRep*, 2, std::allocator<absl::lts_20220623::cord_internal::CordRep*> >::Allocated::allocated_capacity’ may be used uninitialized [-Werror=maybe-uninitialized] ```
* | | Merge pull request #1307 from KindDragon:patch-1Copybara-Service2022-11-031-3/+3
|\ \ \ | | | | | | | | | | | | | | | | PiperOrigin-RevId: 485885633 Change-Id: Idfaf6ce22a9421fe05ae38029c8a68b720ce50ba
| * | | Fix MSVC version checking in lifetime_test.ccArkady Shapkin2022-11-031-3/+2
| | | |
* | | | Stop disabling some test warnings that have been fixedDerek Mauro2022-11-033-28/+0
| | | | | | | | | | | | | | | | | | | | PiperOrigin-RevId: 485868656 Change-Id: I09d70adc570b6b79a80c29f89601186aab390032
* | | | Support logging of user-defined types that implement `AbslStringify()`Phoebe Liang2022-11-0211-13/+273
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | If a user-defined type has `AbslStringify()` defined, it will always be used for logging over `operator<<`. `HasAbslStringify` now uses the empty class `UnimplementedSink` for its checks instead of `StringifySink` in order to make it work in cases involving other sinks. PiperOrigin-RevId: 485710377 Change-Id: Ibdd916151c7abc3269c35fbe79b772867f3d25e1
* | | Eliminate span_internal::Min in favor of std::min, since Min conflicts with ↵Jorg Brown2022-11-022-4/+1
| | | | | | | | | | | | | | | | | | | | | a macro in a third-party library. PiperOrigin-RevId: 485653193 Change-Id: I0615ceb9ea3e1533a989470e7c9863c86b70698b
* | | Fix -Wimplicit-int-conversion.Abseil Team2022-11-021-30/+30
| | | | | | | | | | | | | | | PiperOrigin-RevId: 485575914 Change-Id: If1752252e3cc2f91dc3c171382c9fb3a4def0377
* | | Improve error messages when dereferencing invalid swisstable iterators.Evan Brown2022-11-012-23/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Separate the failure cases into different assertions: end/default constructed vs rehashed or erased. - Update the assertion error for AssertIsValid to not mention the end iterator case because end iterators are considered valid by AssertIsValid. - Also fix an out-of-date comment for skip_empty_or_deleted. PiperOrigin-RevId: 485402559 Change-Id: I593056abdc6c3565d0396fb885923fef643bf4e4
* | | Cord: Avoid leaking a node if SetExpectedChecksum() is called on anDerek Mauro2022-11-012-0/+13
| | | | | | | | | | | | | | | | | | | | | empty cord twice in a row. PiperOrigin-RevId: 485367641 Change-Id: I6605ff25acbcef7c40b68e15a8888076a2da63be
* | | Add a warning about extract invalidating iterators (not just the iterator of ↵Abseil Team2022-10-312-5/+7
| | | | | | | | | | | | | | | | | | | | | the element being extracted). PiperOrigin-RevId: 485120182 Change-Id: Ic54d538721678bed0a748dacbf33c319e62b93b8
* | | CMake: installed artifacts reflect the compiled ABIAbseil Team2022-10-312-32/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a previous change, I forgot to fix the DLLs to also set the target_compile_features() as needed. Some amount of refactoring to expose the necessary variables and functions in AbseilDll.cmake Fixes #1116 PiperOrigin-RevId: 485101834 Change-Id: I5cd0eff9e20c0ddf48c364f917e40d66df0aac17
* | | Import of CCTZ from GitHub.Abseil Team2022-10-311-3/+3
| | | | | | | | | | | | | | | PiperOrigin-RevId: 485070787 Change-Id: Ie62021eaf84f5a43e8943d3167e98e3986fcf5a6
* | | Import of CCTZ from GitHub.Abseil Team2022-10-3117-40/+37
| | | | | | | | | | | | | | | PiperOrigin-RevId: 485054062 Change-Id: Ieafa217b562548f8bb8dc6fc4e1e414f8ede0579
* | | Support empty Cords with an expected checksumDerek Mauro2022-10-289-24/+231
| | | | | | | | | | | | | | | PiperOrigin-RevId: 484578104 Change-Id: Ie4be3e4de27dc28d88395e16fd075fb10ab7a302
* | | Move internal details from one source file to another more appropriate sourceAndy Soffer2022-10-275-9/+31
| | | | | | | | | | | | | | | | | | | | | file. PiperOrigin-RevId: 484419458 Change-Id: Ic2c1afa1a3434ac071c01ae2e6c75dee41b1f069
* | | Removes `PutPaddedString()` functionPhoebe Liang2022-10-272-26/+0
| | | | | | | | | | | | | | | | | | | | | 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.Abseil Team2022-10-272-5/+5
| | | | | | | | | | | | | | | PiperOrigin-RevId: 484181180 Change-Id: I00206c1506a25dca5555261d6500c1e54368a368
* | | Remove the unknown CMAKE_SYSTEM_PROCESSOR warning when configuringDerek Mauro2022-10-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) minumumDerek Mauro2022-10-261-3/+3
| | | | | | | | | | | | | | | PiperOrigin-RevId: 483972593 Change-Id: I5358871cdf825bbfae65bf9f5872c4fd56005fb7
* | | `absl::InlinedVector::swap` supports non-assignable types.Abseil Team2022-10-253-104/+254
| | | | | | | | | | | | | | | PiperOrigin-RevId: 483752526 Change-Id: Ie6b63a4a3cc7593e5b8bf255ba571a77d609ce04
* | | Improve b-tree error messages when dereferencing invalid iterators.Evan Brown2022-10-252-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | - Check for invalid generation before checking for other types of invalid iterators. - Check specifically for dereferencing end() iterators. PiperOrigin-RevId: 483725646 Change-Id: Ibca19c48b1b242384683580145be8fb9ae707bc8