summaryrefslogtreecommitdiff
path: root/absl
Commit message (Collapse)AuthorAge
...
* | | Import of CCTZ from GitHub.Gravatar Abseil Team2023-05-22
| | | | | | | | | | | | | | | PiperOrigin-RevId: 534150392 Change-Id: I4c0c111202178031e08d9edad3a4501800d924f0
* | | Fix endianess in FastIntToBufferGravatar Abseil Team2023-05-22
| | | | | | | | | | | | | | | PiperOrigin-RevId: 534117706 Change-Id: Id48f1538e71d30286675eb32c9fb3e6f47774aa8
* | | Rename ABSL_*_IMPL macros to match the other ABSL_LOG_INTERNAL_* macros and ↵Gravatar Andy Getzendanner2023-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | to make sure it's clear that they're internal. Also rename the log and check test files from .h to .inc per https://google.github.io/styleguide/cppguide.html#Self_contained_Headers. PiperOrigin-RevId: 533603350 Change-Id: Iad5d8b683e33b63784cc8e64b84da09f5fc3bf1e
* | | Optimize absl::StrCat for integersGravatar Abseil Team2023-05-19
| | | | | | | | | | | | | | | | | | | | | Previous implementation used a lookup table of 200 bytes which, if not in L1 cache, could cause memory stalls and consumes 3-4 cache lines. This is suboptimal in real world scenarious. We are going to use a purely scalar version of merging 2/4/8 bytes together. PiperOrigin-RevId: 533576619 Change-Id: Icd730d18536f7eb35979b62582f6edf86b786019
* | | Import of CCTZ from GitHub.Gravatar Derek Mauro2023-05-19
| | | | | | | | | | | | | | | PiperOrigin-RevId: 533455360 Change-Id: Ia95b225f8c186a831801f1ee008d7a5c0fff544b
| * | Add a declaration for __cpuid for the IntelLLVM compiler.Gravatar Niranjan Nilakantan2023-05-18
|/ / | | | | | | | | | | | | | | __cpuid is declared in intrin.h, but is "excluded" on non-Windows platforms. We add this declaration to compensate. Fixes #1358
* | Merge pull request #1448 from glandium:clangGravatar Copybara-Service2023-05-18
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 533121605 Change-Id: I82390045985db5db56e93c40eae24cdcd93e3ab4
| * | Use UB impl of launder on when using clang < 8 and c++17Gravatar Mike Hommey2023-05-18
| | | | | | | | | | | | | | | | | | | | | libstdc++'s definition of std::launder places it behind a check for __builtin_launder, which is not available before clang 8. Fixes: #1309
* | | Add compiler deprecation warnings for absl::ConvertDateTime() and ↵Gravatar Derek Mauro2023-05-17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | absl::FromDateTime(). These have been marked deprecated in the comments for some time, (since f340f773edab951656b19b6f1a77c964a78ec4c2) but the warnings were never enabled. A warning suppression is enabled for Abseil code so that when we declare types in our code, we don't get a warning. PiperOrigin-RevId: 532891102 Change-Id: Ife0c5696a061ea44769e02869e4e3d1196e86f9d
* | Add non-public API for internal usersGravatar Eric Fiselier2023-05-16
| | | | | | | | | | PiperOrigin-RevId: 532553508 Change-Id: I813841ff3e5085b64c9b02ca41897bf7f6a8570e
* | Merge pull request #1290 from jun-sheaf:patch-1Gravatar Copybara-Service2023-05-15
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 532199109 Change-Id: I5a2a96b9c8b52feb0107d912b0011911fc1f0f4c
* | | Mutex: Remove the deprecated absl::RegisterSymbolizer() hookGravatar Derek Mauro2023-05-15
| | | | | | | | | | | | | | | | | | | | | | | | absl::RegisterSymbolizer() has been deprecated for 5 years. It is being removed following our compatibility policy. <https://abseil.io/about/compatibility> PiperOrigin-RevId: 532174866 Change-Id: Id5c3b86698e389099d3d707c4e57f30f1f155d2e
* | | Merge pull request #1115 from h-vetinari:dll_targetsGravatar Copybara-Service2023-05-15
| | | | | | | | | | | | | | | PiperOrigin-RevId: 532174747 Change-Id: I39dc6d5c369e8bfbdde5c826836e42f5baa69dc5
* | | Fixed Windows DLL builds of test targetsGravatar Derek Mauro2023-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a heavily modified version of https://github.com/abseil/abseil-cpp/pull/1445, which adds some missing test libraries to the test DLL. Unlike #1445, this change moves several global variables out of headers that did not need to be in headers. For instance, cord_btree_exhaustive_validation was a global defined/declared in cord_internal, but only used in cord_rep_btree and its test. cordz_handle defined a queue in its header even though it wasn't needed, which also led to ODR problems. The Spinlock used in CordzHandle is replaced with a Mutex. This was originally a Mutex, but Chromium asked us to change it to a Spinlock to avoid a static initializer. After this change, the static initializer is no longer an issue. #1407 PiperOrigin-RevId: 531516991 Change-Id: I0e431a193698b20ba03fac6e414c26f153f330a7
* | | Remove ABSL_HARDENING_ASSERT in AnyInvocable to avoid performance impact in ↵Gravatar Abseil Team2023-05-11
| | | | | | | | | | | | | | | | | | | | | optimized builds PiperOrigin-RevId: 531301442 Change-Id: Ib5a67f827bf89a66a0a8d24d3191f278566af6c8
* | | YuleSimon/SkewedLow: Cleanup/move benchmarks and overload tests.Gravatar Laramie Leavitt2023-05-10
| | | | | | | | | | | | | | | PiperOrigin-RevId: 530999471 Change-Id: Ifca68cd53be629088244eaa3560d43fd81090747
* | | Stop moving an absl::FunctionRef, since the class isn't movable, itGravatar Derek Mauro2023-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | will just be a copy anyway. Also remove the typedef so that it is clear from the type at the callsite that moving it isn't necessary. Fixes #1443 PiperOrigin-RevId: 530596294 Change-Id: I58ffc370bbccc0816bca4c4f85c3bb12c7ee2eb2
* | | Add semicolon at the end of the line on code exampleGravatar Abseil Team2023-05-08
| | | | | | | | | | | | | | | PiperOrigin-RevId: 530445615 Change-Id: I0c112773e7f42989840cb8b915167ade8833ef73
* | | For Bazel builds, mark some of the low-level tests that are dependentGravatar Derek Mauro2023-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on timing as flaky. This will run them up to 3 times (in the default configuration) and only consider the test failed if it fails each time. PiperOrigin-RevId: 530348477 Change-Id: Ib77bd8a166828b82a1b49ee5ef2e8321752e51d0
* | | Add missing dependency on dynamic_annotations to stacktrace, which is needed ↵Gravatar Abseil Team2023-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | in some of the builds. PiperOrigin-RevId: 530308301 Change-Id: I7c885156e14d9c8c444c7c6f8d38e7aaac7c01a7
* | | Nop change.Gravatar Abseil Team2023-05-08
| | | | | | | | | | | | | | | PiperOrigin-RevId: 530238518 Change-Id: I2bfca582c0734f7e6943c5359730a2857809e2d2
* | | Make `absl::StatusOr::AssignStatus` public. Recommend against using it ↵Gravatar Dino Radakovic2023-05-05
| |/ |/| | | | | | | | | | | outside of generic programming (attempt #2 after internal fix) PiperOrigin-RevId: 529796927 Change-Id: I755b7d907f96f4a05d01620503bf0862ce35e847
* | Breaks internal codeGravatar Abseil Team2023-05-04
| | | | | | | | | | PiperOrigin-RevId: 529514670 Change-Id: Ia9a19da52f58c91d5131c2a17308a7a322db2714
* | Make `absl::StatusOr::AssignStatus` public. Recommend against using it ↵Gravatar Dino Radakovic2023-05-04
| | | | | | | | | | | | | | outside of generic programming PiperOrigin-RevId: 529484669 Change-Id: I9889a9f7a7fa7dc6ef8c731f1b583a74e6afd2cf
* | Add tests for btrees in which slot_type is overaligned and slot_type is ↵Gravatar Evan Brown2023-05-04
| | | | | | | | | | | | | | | | | | equal to field_type. Also do some minor refactoring in btree.h. PiperOrigin-RevId: 529460378 Change-Id: I278833ada93bbb7652e149fceed08ce3485e4312
* | Add lifetimebound attribute to more Abseil container methods and remove them ↵Gravatar Abseil Team2023-05-04
| | | | | | | | | | | | | | from internal ones. PiperOrigin-RevId: 529423722 Change-Id: Ib1cc427299100956c0f2ae6cb5214467ef5a3790
* | Add lifetimebound attribute to some Abseil containersGravatar Abseil Team2023-05-03
| | | | | | | | | | PiperOrigin-RevId: 529119690 Change-Id: If585274c409e2a344c8d60759da6f8f990023d29
* | Merge pull request #1441 from Vertexwahn:fix-spelling3Gravatar Copybara-Service2023-05-03
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 529086715 Change-Id: Id5462322d5707a1b4475438520fcb70ee7b15450
| * | Fix spelling mistakesGravatar Vertexwahn2023-05-02
|/ /
* | Add pointer-stability validation in btree.Gravatar Evan Brown2023-05-02
| | | | | | | | | | | | | | When we insert a new element, when ASan is enabled, we replace the node that the new element is on in order to try to detect cases of code depending on pointer/reference-stability. PiperOrigin-RevId: 528826645 Change-Id: Ie5c15c13016a8aa831a0d1edc3ad33c1f5ca4d65
* | PR #1433: Fix incorrect timespec definition on 32-bit platforms with 64-bit ↵Gravatar Oleg Lyovin2023-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | time_t Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1433 Some 32-bit configurations may use 64-bit time_t, which leads to different layout of userspace timespec and the one expected by SYS_futex implementation in kernel. In particular the issue occurs when using musl libc which has switched to unconditional 64-bit time_t definition. This patch introduces custom struct timespec with two longs when old SYS_futex is used to match the kernel timespec definition. Merge 2eaca415da825b3f31a90f58a35bdef2b6d2a6c5 into f8bf909108b3604a00590a074f2986c0895514d2 Merging this change closes #1433 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1433 from olegartys:futex_time64_bug 2eaca415da825b3f31a90f58a35bdef2b6d2a6c5 PiperOrigin-RevId: 528796119 Change-Id: Idaa952f64bd97c6dc9703a8b44deac43e29ff9ae
* | For Bazel builds, mark some of the low-level tests that are dependentGravatar Derek Mauro2023-05-02
| | | | | | | | | | | | | | | | | | | | on timing as flaky. This will run them up to 3 times (in the default configuration) and only consider the test failed if it fails each time. PiperOrigin-RevId: 528785128 Change-Id: I4aa5b74aa3a6873c83f2a01734c679351b1cd5d0
* | Instantiate LogMessage::CopyToEncodedBuffer separately for literals and ↵Gravatar Andy Getzendanner2023-05-01
| | | | | | | | | | | | | | | | | | | | | | non-literals to save an instruction at each operator<<(string) callsite. The operator<<s get inlined at the callsite. The saved instruction is a 'load immediate' to put the StringType argument in a register for passing. This does make the logging TU slightly larger, but it will be an overall size win for all but the smallest programs. Smaller, faster code at callsites is worth it anyway. PiperOrigin-RevId: 528569773 Change-Id: Id8185266a975a12ab6f1a553c2c0846261822396
* | Merge pull request #1438 from Vertexwahn:fix-spellingGravatar Copybara-Service2023-05-01
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 528547013 Change-Id: I9b57ee062ef666d6a34696778ff16a46c5ccb17d
* | | Shrink most LOG callsites by one instruction (SysV x86_64 ABI) by ↵Gravatar Andy Getzendanner2023-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dispatching to per-severity constructors and omitting the severity argument. In that particular ABI, the empty tag structs are NO_CLASS and don't appear in the generated code. https://godbolt.org/z/crqaPh8Kv PiperOrigin-RevId: 527989179 Change-Id: I365f11f6ca1de2623690d0a04e6f02f7de82b1fc
* | | Introduce IfConstexpr(Else) utilities for use internally in abseil library ↵Gravatar Evan Brown2023-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | implementation. These functions are meant to allow for avoiding complex SFINAE pre-C++17. PiperOrigin-RevId: 527968428 Change-Id: I6524206c9dc50663d7c38abf6d0e8080ca93fc30
| * | Fix spelling mistakesGravatar Vertexwahn2023-04-27
|/ /
* | trivial: format some files using clang-formatGravatar Patrick Xia2023-04-27
| | | | | | | | | | PiperOrigin-RevId: 527598377 Change-Id: I0ae1505db595b7f3a420f2f608c6e02f8800f138
* | Merge pull request #1434 from Vertexwahn:fix-spellingGravatar Copybara-Service2023-04-25
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 527066823 Change-Id: Ifa1e9a43c7490b34f9f4dbfa12d3acbed6b49777
| * | Fix some spelling mistakesGravatar Vertexwahn2023-04-24
|/ /
* | Merge pull request #1416 from AtariDreams:fillGravatar Copybara-Service2023-04-24
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 526675031 Change-Id: Ib84423ccea2d0183166194a0916a97a7ed32915c
* | | Mutex: Remove MSVC 2015 workaroundsGravatar Derek Mauro2023-04-24
| | | | | | | | | | | | | | | PiperOrigin-RevId: 526653332 Change-Id: I0a20d4ac636da3f1a930f96e0cdb9275527e4688
* | | Adds template specialization for nullptr assertion of absl::AnyInvocable ↵Gravatar Abseil Team2023-04-24
| | | | | | | | | | | | | | | | | | | | | types. PiperOrigin-RevId: 526644558 Change-Id: I050162c2c0d667c32f7e11f51201054cca52667d
* | | Fix handling of `CHECK` macros in static analysis tools.Gravatar Abseil Team2023-04-24
| | | | | | | | | | | | | | | | | | | | | Currently static analysis tools built using the Clang Dataflow Analysis framework can't prove that code under `switch (0) case 0:` is executed on all paths. The Clang Dataflow Analysis framework should ultimately be improved to handle these cases. In the meantime, to enable the use of such tools in their current state, we add a `default` case back to the `switch` statement in `ABSL_LOG_INTERNAL_STATELESS_CONDITION` to help them understand that the code is executed on all paths. PiperOrigin-RevId: 526638852 Change-Id: I49490dd477ba777aae2530697b75b583242aebc5
* | | `AbslHashValue()` applied to a C-style array simply decays the array to a ↵Gravatar Abseil Team2023-04-20
| | | | | | | | | | | | | | | | | | | | | pointer and hashes that, which is very unlikely to be what the author intended. PiperOrigin-RevId: 525923741 Change-Id: I876dbde341f0b0642fa3d10e3f67b0b31d0311bf
* | | Support pthread_cond_clockwait() and sem_clockwait() on AndroidGravatar Derek Mauro2023-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | for __ANDROID_API__ >= 30 https://android.googlesource.com/platform/bionic/+/69010802d037dbc10377416bd9cc696fa34b9384%5E%21/libc/include/pthread.h PiperOrigin-RevId: 525815479 Change-Id: I88cd1a06a4f7bb5380ff7c1e6a8f45e2b04b7df8
* | | Fix flaky test failures.Gravatar Evan Brown2023-04-20
| | | | | | | | | | | | | | | PiperOrigin-RevId: 525808747 Change-Id: I01aeef6b8558673bf1fc38a948dcecf00300b641
* | | Minor optimization in btree: avoid redundant stores to node->position when ↵Gravatar Evan Brown2023-04-20
| | | | | | | | | | | | | | | | | | | | | constructing nodes. PiperOrigin-RevId: 525792213 Change-Id: I4386385e6e05d74a4ccc18cea505530e919f0e28
| * | Prefer copy_n and fill_n over copy and fill where appropriate.Gravatar Rose2023-04-19
|/ / | | | | | | This lets us avoid having to do the addition manually.
* | Unify std type detection now that older compilers are no longer supportedGravatar Derek Mauro2023-04-19
| | | | | | | | | | PiperOrigin-RevId: 525462751 Change-Id: Ibd6202cb95e79a48a6b39ccc4b74ead04128eb91