aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-25Snap for 11766105 from 4af5b57dd17f345a9b8936d12bdc743b0e0bf7e5 to ↵androidx-compose-compiler-releaseAndroid Build Coastguard Worker
androidx-compose-compiler-release Change-Id: Ibd3dfc8a7e65227dd1760d81b77ecd19c952acfc
2024-04-12Remove NOTICE symlink.androidx-viewpager2-releaseElliott Hughes
The .bp file explicitly points to upstream's LICENSE file. Test: treehugger Change-Id: I7dbec4cad91bd055552e4af45efe7e33b29e62c8
2024-03-14Snap for 11576680 from 538aea662fef35630321f6cb84dd80b8d4846259 to ↵Android Build Coastguard Worker
androidx-compose-compiler-release Change-Id: Iac7815e1abbd3104e3eb7c1aa0e2cd22a068d5ce
2024-02-29Upgrade ABSL to LTS version 20240116.1 am: 3fd0a1be59androidx-transition-releaseandroidx-datastore-releaseMatt Stokes
Original change: https://android-review.googlesource.com/c/platform/external/abseil-cpp/+/2982152 Change-Id: Ib52d59c278ce8eaa4b91108ad345825e7dc5c242 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28Upgrade ABSL to LTS version 20240116.1Matt Stokes
Bug: 327430106 Change-Id: Idaa22c6c116a1f4107fd7a8b59b7acc6cd387882
2024-02-12Prepare 20240116.1 patch for Apple Privacy Manifest (#1623)upstream-20240116.1Derek Mauro
2024-02-07Backport Apple Privacy Manifest (#1613)Hannah Shi
2024-01-31Snap for 11384237 from db41dae4b295b7583c65ed4e124f60d6f55ca8ae to ↵Android Build Coastguard Worker
androidx-compose-compiler-release Change-Id: I365bb5c097d4b44dfc759e317fe872e27fa20b81
2024-01-29Remove libabsl_headers module. am: db41dae4b2Krzysztof Kosiński
Original change: https://android-review.googlesource.com/c/platform/external/abseil-cpp/+/2903407 Change-Id: I5e33b566a4d4a0832c8311ed13b83809ff47559b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-22Disable ABSL_ATTRIBUTE_TRIVIAL_ABI in open-source builds (#1606)upstream-20240116.rc2upstream-20240116.0Derek Mauro
Since compiler support for this attribute differs, if for example system libraries compiled with GCC are mixed with libraries compiled with Clang, types will have different ideas about their ABI. PiperOrigin-RevId: 600467146
2024-01-16Apply LTS transformations for 20240116 LTS branch (#1599)upstream-20240116.rc1Derek Mauro
2024-01-16Add a note about how to link absl::log_flags under CMake to workaroundDerek Mauro
the lack of a feature equivalent to Bazel's alwayslink=True PiperOrigin-RevId: 598855446 Change-Id: I0bb3bc40005908106eb7a7252572e3af153a7f5c
2024-01-13Move absl::Set[Global]VLogLevel() to //absl/log/globals.hDerek Mauro
For consistency, all global logging configurations lives in //absl/log/globals.h PiperOrigin-RevId: 598194040 Change-Id: I815b7d07f8fe06c70cef83bdf825c2f7ca504a2b
2024-01-12Speed up `raw_hash_map::[]` with ABSL hardening enabled by unchecking ↵Abseil Team
dereference of iterator returned by `try_emplace`. PiperOrigin-RevId: 597920257 Change-Id: I1b2e8f10a2f1efa763a6f0760294beafdb6fd9c0
2024-01-11Add support for Bzlmod for the next releaseDerek Mauro
https://bazel.build/external/overview#bzlmod Bzlmod will be the default in a future Bazel release. By default it requires projects to be registered with the Bazel Central Registry (https://registry.bazel.build/) and thus uses regular releases by default. Users that want to "live-at-head" can still do this through with overrides (https://bazel.build/external/module#overrides). This change updates Abseil dependencies to use released versions. CI uses Bzlmod except in the case of linux_gcc-floor, which will keep testing the old WORKSPACE-based dependency system. PiperOrigin-RevId: 597676666 Change-Id: I8d33facc432477c6dc7daa06fd00bb4ae8c4adba
2024-01-11Enable ABSL_BTREE_ENABLE_GENERATIONS and ABSL_SWISSTABLE_ENABLE_GENERATIONS ↵Abseil Team
with ABSL_HAVE_HWADDRESS_SANITIZER. It will detect bugs similar to Asan. Also updated related tests to pass with HWASAN. They are still flaky because of nature of HWASAN algorithm, but test can be update to avoid flakiness, which I will do in followup patches. PiperOrigin-RevId: 597613798 Change-Id: Ic8af36a268ca041c002eb561b946aa2d9b93996a
2024-01-11Move default case to statement outside switch block in log_severity.h.Daniel Cheng
Some compilers warn if a switch block that already covers all enumeration values also has a default label. PiperOrigin-RevId: 597583941 Change-Id: Ib3eb08dca0a19105522c61e47944cfc75280c15e
2024-01-10Automated Code ChangeAbseil Team
PiperOrigin-RevId: 597297788 Change-Id: Idb4cd3f62a03204bcad423d9934963136c018996
2024-01-10Fix CMake compiled ABI options after f845e60acd880dbf07788a5a2c0dbad0f9c57231.Derek Mauro
f845e60acd880dbf07788a5a2c0dbad0f9c57231 added an option to use C++20's <ordering> header but the CMake install configured this as an alias in C++17 when it is not available. Fixes #1597 PiperOrigin-RevId: 597258569 Change-Id: I40277d55702601e1686370bee6af9b7491fd2000
2024-01-09Re-add the internal file //absl/string/internal/has_absl_stringify.h to unblockDerek Mauro
releasing Abseil and GoogleTest. GoogleTest referenced this internal file and this internal trait. Since simultaneous releases are not possible since once release must reference another, we will temporarily add this back. https://github.com/google/googletest/blob/v1.14.x/googletest/include/gtest/gtest-printers.h#L119 https://github.com/google/googletest/pull/4368#issuecomment-1717699895 https://github.com/google/googletest/pull/4368#issuecomment-1717699895 PiperOrigin-RevId: 597073935 Change-Id: I7c2697a212dc477fd25770777445c64cfee73745
2024-01-09Remove libabsl_headers module.Krzysztof Kosiński
No longer used anywhere. Bug: 246681282 Test: presubmit Change-Id: I593731540802e17e6b8648905361df04c079132a
2024-01-09Update Windows and MacOS CI builds to Bazel 7.0.0Derek Mauro
This changes the way in which clang-cl is selected on Windows as it has changed: https://bazel.build/configure/windows#clang --features=external_include_paths has been removed from Windows builds since it appears cause build command errors currently PiperOrigin-RevId: 596965732 Change-Id: I95b636a9a4fdcc4172c3bb8c6cb28d5f7db592c9
2024-01-05Extend BM_StrAppendInt to use log-uniform random numbers instead of constantsAbseil Team
This follows Benford's law, which is likely also a much more accurate representation of real data than a constant. We also add benchmarks for different integer types. PiperOrigin-RevId: 596039508 Change-Id: I4862c7cfdbf5face18ae31cf0bd2fd54e47684b7
2024-01-04Optimize integer-to-string conversionsAbseil Team
The updated code is designed to: - Be branch-predictor-friendly - Be cache-friendly - Minimize the lengths of critical paths - Minimize slow operations (particularly multiplications) - Minimize binary/codegen bloat The most notable performance trick here is perhaps the precomputation & caching of the number of digits, so that we can reuse/exploit it when writing the output. This precomputation of the exact length enables 2 further performance benefits: - It makes `StrCat` and `StrAppend` zero-copy when only integers are passed, by avoiding intermediate `AlphaNum` entirely in those cases. If needed in the future, we can probably also make many other mixtures of non-integer types zero-copy as well. - It avoids over-reservation of the string buffer, allowing for more strings to fit inside SSO, which will likely have further performance benefits. There is also a side benefit of preventing `FastIntToBuffer` from writing beyond the end of the buffer, which has caused buffer overflows in the past. The new code continues to use & extend some of the existing core tricks (such as the division-by-100 trick), as those are already efficient. PiperOrigin-RevId: 595785531 Change-Id: Id6920e7e038fec10b2c45f213de75dc7e2cbddd1
2024-01-04Correct nullability annotations on MakeNanAbseil Team
Neither GCC nor Clang's __builtin_nan(), nor glibc's nan(), accept null pointers. PiperOrigin-RevId: 595767225 Change-Id: I4cddd1cafd0c9e83a823ec68386f10ce077c6b4c
2024-01-03Avoid a empty library build failure on Apple platformsDerek Mauro
https://github.com/abseil/abseil-cpp/issues/1465 reports that some CMake builds on Apply platforms issue ``` warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive library: libabsl_bad_any_cast_impl.a the table of contents is empty (no object file members in the library define global symbols) ``` Our CMake build handles this problem for header-only libraries by not building a library at all. For some libraries, for example our polyfills, the library is only conditionally empty. In these libraries, I added a single char variable on Apple platforms as a workaround. I have been able to reproduce the warnings reported in https://github.com/abseil/abseil-cpp/issues/1465, but they don't fail the build for me. I don't see them any more after this change. PiperOrigin-RevId: 595480705 Change-Id: Ie48637e84ebae2f2aea4e2de83b146f30f6a76b9
2024-01-03Speed up `raw_hash_set::contains()` when ABSL hardening is enabled by ↵Abseil Team
removing the iterator invalidation check from the comparison that contains performs. PiperOrigin-RevId: 595460301 Change-Id: I9a5d6c81385e38184f4848c58209adc5d32bb7be
2024-01-02Remove workaround for older versions MSVC that did not supportDerek Mauro
constexpr Flag construction. These versions of MSVC are no longer supported. PiperOrigin-RevId: 595195773 Change-Id: Iaf2f01a2255fb24f3aadc26f09600543fffa9da5
2024-01-02PR #1589: Use compare_exchange_weak in the loop in Mutex::ReaderLockAtariDreams
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1589 It makes sense because even if it fails spuriously, we can just try again since we have to check for other readers anyway. Merge 0b1780299b9e43205202d6b25f6e57759722d063 into 6a19ff47352a2112e953f4ab813d820e0ecfe1e3 Merging this change closes #1589 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1589 from AtariDreams:atomics 0b1780299b9e43205202d6b25f6e57759722d063 PiperOrigin-RevId: 595149382 Change-Id: I24f678f6bf95c6a37b2ed541a2b6668a58a67702
2024-01-02Add an IWYU pragma to vlog_is_on.hDerek Mauro
PiperOrigin-RevId: 595114487 Change-Id: Ia8fc94e4feaf8da1185e7e93ba4250e61e690cfd
2023-12-28[absl] Rename `absl::internal::identity` to `absl::internal::type_identity`Lawrence Wolf-Sonkin
* Also does this for `absl::internal::identity_t` which is now `absl::internal::type_identity_t` * This is clearer naming as this is a backfill of `std::type_identity` (the identity type), and not `std::identity` (the identity function) PiperOrigin-RevId: 594316002 Change-Id: I5fb8cf7e3d07c1bc736cbecd202e7d556b6ea33e
2023-12-28Add compile-checks to ensure the parameter to ↵Abseil Team
absl::numbers_internal::FastIntToBuffer isn't provably insufficient This performance-sensitive API is internal, and should not be used directly. Nevertheless, some do use it, so it's worth trying to block incorrect uses where we can. PiperOrigin-RevId: 594289730 Change-Id: Ib5df39b450ef2ceda795082cde10ec2ba2642172
2023-12-26Migrate static objects to NoDestructor in tests, testing libraries and ↵Abseil Team
benchmarks. PiperOrigin-RevId: 593918110 Change-Id: Ide100c69b10e28011af17c7f82bb10eea072cad4
2023-12-26Import of CCTZ from GitHub.Abseil Team
PiperOrigin-RevId: 593889663 Change-Id: I589cd18922172d8aca99ddcc0d6f08a013bed9b4
2023-12-26Import of CCTZ from GitHub.Abseil Team
PiperOrigin-RevId: 593814844 Change-Id: If1967814b2b9273061b928bfee102faae1fad263
2023-12-26Include `cstdint` where necessary.Dmitri Gribenko
PiperOrigin-RevId: 593780380 Change-Id: Id80217c63dd76bafbcfb79a7ee10807f1b771cb2
2023-12-21Release a few bits and pieces of DFATAL that were left behind: flag parsing ↵Andy Getzendanner
& some tests. PiperOrigin-RevId: 592918704 Change-Id: Iacef0e069c012a04960211c032454244822f9634
2023-12-21Add a container-based version of `std::sample()`Eric Astor
PiperOrigin-RevId: 592864147 Change-Id: I83179b0225aa446ae0b57b46b604af14f1fa14df
2023-12-20Performance improvement for absl::AsciiStrToUpper() and absl::AsciiStrToLower()Abseil Team
PiperOrigin-RevId: 592664369 Change-Id: I7aa7b045c2b3c0f25cff7b82eb9d9cc13e9fc49f
2023-12-20Added ByAsciiWhitespace to str_split library.Abseil Team
PiperOrigin-RevId: 592653487 Change-Id: Iddd2f484807cb02dd2ee8bba26c22d196be02c88
2023-12-20AddressIsReadable: improve commentsFangrui Song
Linux kernel's rt_sigprocmask correctly handles an unaligned user address[1]. The original issue was for qemu-user, which seems long irrelevant. Tested locally on an AArch64 CPU and qemu-aarch64-static. The alignment operation actually serves another purpose: when addr resides in the last 7 bytes of a page (unaligned), check only the current page and not the next. Update the comment. [1]: kernel/signal.c `SYSCALL_DEFINE4(rt_sigprocmask` arch/arm64/include/asm/uaccess.h:raw_copy_from_user arch/arm64/lib/copy_template.S "alignment handled by the hardware" PiperOrigin-RevId: 592618320 Change-Id: Ifbd05aba42f46e36e710cca940570213036b3ce0
2023-12-20Unify btree EmptyNode allocation code across compilers.Abseil Team
We currently have a workaround for MSVC, which has constexpr pointer arithmetic bugs. The bug seems to still exist and the existing code for non-MSVC compilers doesn't build. This alternative constexpr constructor avoids pointer arithmetic and seems to be working for all, including MSVC. PiperOrigin-RevId: 592586957 Change-Id: Ic585693c3a7abaab5fbbc0954b8ee924994f8dbf
2023-12-20Create and destroy tables outside of the timer and in batch in Reserve ↵Abseil Team
benchmarks. PiperOrigin-RevId: 592483250 Change-Id: I55fa9982c4dbc723b30957cb31da95251e368707
2023-12-19Add script for Arm build.Richard O'Grady
PiperOrigin-RevId: 592390284 Change-Id: If5b612a3f8d3144df108deb4ee28c1e9279b858b
2023-12-19Fix typo: begnning -> beginningAbseil Team
PiperOrigin-RevId: 592337948 Change-Id: I373943b8daf28781e063b302fc916ca5644e8fe1
2023-12-19Add a pragma to disable a maybe-uninitialized warning for GCC12+Abseil Team
PiperOrigin-RevId: 592301543 Change-Id: I97e4df805c7313896228430a50a7f991127f3e30
2023-12-19Refactor `EraseMetaOnly` to speed up single group tables.Abseil Team
PiperOrigin-RevId: 592272653 Change-Id: I895c5786555227bdc88ab0a4cce8cf5ba65222a1
2023-12-19Update the CI builds that use the latest compiler versions toDerek Mauro
use Bazel 7.0.0. CMake is also updated to 3.28.1 PiperOrigin-RevId: 592263272 Change-Id: I4daccdad4bceb483b0400328baebc79591990328
2023-12-19Mutex: Prevent false race in EnableInvariantDebugging.Dmitry Vyukov
The added test exposes a false TSan race report in EnableInvariantDebugging/EnableDebugLog related to SynchEvent reuse. We ignore most of the stuff that happens inside of the Mutex code, but not for the code inside of EnableInvariantDebugging/EnableDebugLog. So these can cause occasional false reports on SynchEvent bankruptcy. Also ignore accesses in EnableInvariantDebugging/EnableDebugLog. PiperOrigin-RevId: 592226791 Change-Id: I066edb1ef5661ba6cf86a195f91a9d5328b93d10
2023-12-18Add the `BM_EraseEmplace` benchmark that constantly adds and removes the ↵Abseil Team
same element. PiperOrigin-RevId: 591987002 Change-Id: Ic1ed2063aeb95a6e814eefcbed024e1a5a1d8d2f