summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge new upstream LTS 20240722.0Gravatar Benjamin Barenblat2024-09-03
|\
| * Update GoogleTest dependency to 1.15.2 (#1736)20240722.0Gravatar Derek Mauro2024-08-01
| | | | | | | | | | | | | | This updates to a version of GoogleTest that fixes https://github.com/google/googletest/issues/4581 for downstream users of rules_python Cherry-pick of d0159eab5985aa8561ccda9ee9987d6b2726fd76
| * Cherry-picks for Release Candidate 2 (#1727)20240722.rc2Gravatar Derek Mauro2024-07-25
| | | | | | | | | | | | | | cmake: Fix RUNPATH when using BUILD_WITH_INSTALL_RPATH=True 21385900073e3ca2c4aefb13fd05ca2da40d5ff1 Add absl_vlog_is_on and vlog_is_on to ABSL_INTERNAL_DLL_TARGETS 9a0743ac27df5ec018974e605cf61db7652b26c1
| * Apply LTS transformations for 20240722 LTS branch (#1724)20240722.rc1Gravatar Derek Mauro2024-07-22
| |
| * Fix LINT.IfChange syntaxGravatar Derek Mauro2024-07-22
| | | | | | | | | | PiperOrigin-RevId: 654745969 Change-Id: I96b9797c0fb91cf22e5a50ef97223216683d4ec7
| * PR #1720: Fix spelling mistake: occurrance -> occurrenceGravatar Ikko Eltociear Ashimine2024-07-18
| | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1720 Merge a72c4bcc7b45d17cf12bee62989722f16f85f0fd into 0598e582f659594aa3592c70ba7dcb251649d264 Merging this change closes #1720 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1720 from eltociear:patch-1 a72c4bcc7b45d17cf12bee62989722f16f85f0fd PiperOrigin-RevId: 653737423 Change-Id: I5638538d1b008942feba6dc6fc98dcdbf53653ef
| * Add missing include for Windows ASAN configuration in poison.ccGravatar Abseil Team2024-07-18
| | | | | | | | | | | | | | GetPageSize requires windows include regardless of presence of ASAN or MSAN PiperOrigin-RevId: 653705885 Change-Id: I4c7eec09db6c1a6168dd249cf584f1774d6cead2
| * Delete absl/strings/internal/has_absl_stringify.h now that theGravatar Derek Mauro2024-07-18
| | | | | | | | | | | | | | GoogleTest version we depend on uses the public file PiperOrigin-RevId: 653606441 Change-Id: Id49b18835443162ddf9747cc31619f3acf01f4ef
| * Update versions of dependencies in preparation for releaseGravatar Derek Mauro2024-07-18
| | | | | | | | | | PiperOrigin-RevId: 653567769 Change-Id: I0448322da95558ff6a04ab1aeab2b238674b69d1
| * PR #1699: Add option to build with MSVC static runtimeGravatar Aaron Bray2024-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1699 The correct CMake policy is set, but there is no option to switch the msvc runtime when configuring the project. Since MSVC is a multiconfiguration build tool, we need to set this CMake variable internal to the project to ensure that all of the supported build configurations get properly set (i.e. `Release` builds use `/MT` or `/MD` and `Debug` builds use `/MTd` or `/MDd`). I tried to explictly set these flags (i.e. -DCMAKE_CXX_FLAGS_XXX) when configuring the project, but these flags were being overwritten due to [explicitly setting compiler flags](https://github.com/abseil/abseil-cpp/blob/master/CMake/AbseilHelpers.cmake#L285). Merge 4fbe3ae4695621c85fd328d4977e0392a614dac4 into b86d574c5a8ca3344d02c312a63cebb49deeacfc Merging this change closes #1699 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1699 from aaron-bray:msvc_runtime_library 4fbe3ae4695621c85fd328d4977e0392a614dac4 PiperOrigin-RevId: 652581337 Change-Id: I64b24127cda68b681a1cd327052150508df2c4a0
| * Remove unneeded 'be' from comment.Gravatar Abseil Team2024-07-15
| | | | | | | | | | PiperOrigin-RevId: 652552642 Change-Id: Ic4e367531893714aa216624176a56f39a5f59144
| * PR #1715: Generate options.h using CMake only onceGravatar Arnaud Botella2024-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1715 Using abseil via CMake ExternalProject, for each compilation abseil is reconfigured. This leads to a new options-pinned.h generated and then a new options.h installed. Because of that new options.h file, all projects depending on abseil recompile entirely. Using file(GENERATE ...) instead of file(WRITE ...) allows generating options-pinned.h only when the content is new or changed. Merge b3b53860d1f6cc83283806117cd5d341159b6052 into cd75cb4ae32c46c84cef9a9c78b42174f22ed0ac Merging this change closes #1715 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1715 from BotellaA:patch-1 b3b53860d1f6cc83283806117cd5d341159b6052 PiperOrigin-RevId: 652495570 Change-Id: Ib14bd9a78f80a540aae73d7a94cb46e2c05e8509
| * Small type fix in absl/log/internal/log_impl.hGravatar Gregory Pataky2024-07-14
| | | | | | | | | | PiperOrigin-RevId: 652291236 Change-Id: If590aaec354cb4b3f3ccbf91d1d05e75eb1c4c4c
| * PR #1709: Handle RPATH CMake configurationGravatar Arnaud Botella2024-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1709 When depending on a compiled abseil code, abseil libraries cannot find each other even if they are all located in the same directory. One fix is to edit the LD_LIBRARY_PATH, but it is not always that simple in a development environment. Another way is to add the current location into the RPATH so all libraries can find each other. CMake provides simple command to control this at project scale. Merge caa92e67426784b1537009a24abeaeccba1ca8d4 into cd7f66cab520e99531979b3fd727a25616a1ccbb Merging this change closes #1709 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1709 from Geode-solutions:master caa92e67426784b1537009a24abeaeccba1ca8d4 PiperOrigin-RevId: 651476097 Change-Id: Ib3f214ac17adabefedfb562127f2b1de413ce437
| * PR #1710: fixup! PR #1707: Fixup absl_random compile breakage in Apple ARM64 ↵Gravatar Soo-Hwan Na2024-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | targets Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1710 Use the SHELL: prefix in compile flag string to avoid passing it as quoted string Introduced in CMake 3.12, but as CMake 3.16 is required by this project it will be ok. According to https://cmake.org/cmake/help/latest/command/target_compile_options.html#option-de-duplication, CMake's target_compile_options ignores duplicate items, like from the quote of the link: > While beneficial for individual options, the de-duplication step can break up option groups. For example, -option A -option B becomes -option A B. One may specify a group of options using shell-like quoting along with a SHELL: prefix. This was our problem, -option A -option B should be there, but CMake just made it like -option A B, B was not guarded by -Xarch which led to a compilation error. I originally tried the fix with quoting the "-option A", but it led to the quoted string passed to the compiler, and therefore ignored. Now I am using the SHELL: suffix supported by CMake, and it shows differences: > Current build command with quotes: > ... -DNOMINMAX "-Xarch_x86_64 -maes" "-Xarch_x86_64 -msse4.1" ... (Wrong) > With the SHELL: prefix applied: > ... -DNOMINMAX -Xarch_x86_64 -maes -Xarch_x86_64 -msse4.1 ... (Correct) Merge 661534618fb62c22336e473aff66a8915f9b4185 into cd7f66cab520e99531979b3fd727a25616a1ccbb Merging this change closes #1710 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1710 from Royna2544:master 661534618fb62c22336e473aff66a8915f9b4185 PiperOrigin-RevId: 651433382 Change-Id: I4c626e18ae8b33a8177ea79714b9678f955f469f
| * PR #1695: Fix time library build for Apple platformsGravatar Eduardo Menges Mattje2024-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1695 #1495 converted the `if (APPLE)` check for linking against `CoreFoundation` to generator expressions, which is fine and all. The issue is that they forgot the other Apple platforms, making builds for iOS impossible. This patch fixes this issue by adding the other Apple platforms that CMake support to the generator expression. Merge 4f01df8e09f0dc216006dd7ca2d9ce216122b443 into 6dee153242d7becebe026a9bed52f4114441719d Merging this change closes #1695 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1695 from GeniusVentures:fix-time-build 4f01df8e09f0dc216006dd7ca2d9ce216122b443 PiperOrigin-RevId: 651416278 Change-Id: I47e4d52384e946cc9e421922f7c6edd5bfa1d976
| * Remove cyclic cmake dependency that breaks in cmake 3.30.0Gravatar Mike Kruskal2024-07-10
| | | | | | | | | | PiperOrigin-RevId: 651258120 Change-Id: I1c343bc11407d33dc2d0bb1686be4bdbe6a600df
| * Roll forward poisoned pointer API and fix portability issues.Gravatar Evan Brown2024-07-10
| | | | | | | | | | | | | | Also, return the middle of the poisoned block. PiperOrigin-RevId: 651119057 Change-Id: Iae0fc3dcb40e32cd449f469d9b8d62c37f3773f4
| * Use GetStatus in IsOkAndHoldsMatcherGravatar Laramie Leavitt2024-07-10
| | | | | | | | | | PiperOrigin-RevId: 651093644 Change-Id: Ia5bb3343ef06529d5fa2d469bcad47451ea79c69
| * PR #1707: Fixup absl_random compile breakage in Apple ARM64 targetsGravatar Soo-Hwan Na2024-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1707 Switched to append a full string of "-Xarch_x86_64 -maes" instead of " -Xarch_x86_64" "-maes", for example. Now cmake correctly appends -Xarch_x86_64 to each x64 specific compile option, removing the error caused in recent clang releases: clang++: error: unsupported option '-msse4.1' for target 'arm64-apple-darwin23.5.0' Merge 83d17537ee70158d627681a0f0c15f15f30ef838 into f46495ea96f68fc3f6c394f099b2992743f6ff7f Merging this change closes #1707 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1707 from Royna2544:patch-1 83d17537ee70158d627681a0f0c15f15f30ef838 PiperOrigin-RevId: 651046496 Change-Id: Ifdb3848febeead4fb562a2d9f0fdca2e0aea185d
| * PR #1706: Require CMake version 3.16Gravatar Christoph Grüninger2024-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1706 Follow Google OSS policy. Merge 2ba42b9e5a9ac8c9fe0609fd1ac4cad24714727a into af4c589ed6f312372bb02bfaacb62c14598ceb04 Merging this change closes #1706 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1706 from gruenich:feature/cmake-3-16 2ba42b9e5a9ac8c9fe0609fd1ac4cad24714727a PiperOrigin-RevId: 650646746 Change-Id: Ib600608fbc727161c8b8e69cda9a09637188fef8
| * Add an MSVC implementation of ABSL_ATTRIBUTE_LIFETIME_BOUNDGravatar Derek Mauro2024-07-07
| | | | | | | | | | | | | | https://learn.microsoft.com/en-us/cpp/code-quality/c26816?view=msvc-170 PiperOrigin-RevId: 650044473 Change-Id: I2bf31f1e4b972e890194d21c5a6dcb4ee9993484
| * Mark c_min_element, c_max_element, and c_minmax_element as constexpr in C++17.Gravatar Abseil Team2024-07-03
| | | | | | | | | | | | | | This allows them to be used in constant expressions, such as static_asserts. PiperOrigin-RevId: 649292841 Change-Id: I76e31a94b933fa357276fee534b81c00c28c8b23
| * Optimize the absl::GetFlag cost for most non built-in flag types (including ↵Gravatar Gennadiy Rozental2024-07-03
| | | | | | | | | | | | | | string). PiperOrigin-RevId: 649200175 Change-Id: Ic6741d9fe5e0b1853ed8bb37b585d38b51d15581
| * Encode some additional metadata when writing protobuf-encoded logs.Gravatar Andy Getzendanner2024-07-03
| | | | | | | | | | PiperOrigin-RevId: 649138261 Change-Id: I8687eb7b06cc9e96779d1d3e98b44b4f643c95a8
| * Replace signed integer overflow, since that's undefined behavior, with ↵Gravatar Abseil Team2024-07-02
| | | | | | | | | | | | | | unsigned integer overflow. PiperOrigin-RevId: 648730502 Change-Id: I662c365c59be9e51f565fd215d284a96b7bd8743
| * Make mutable CompressedTuple::get() constexpr.Gravatar Abseil Team2024-07-01
| | | | | | | | | | | | | | | | This change makes the mutable overloads of CompressedTuple::get() constexpr. This is consistent with std::get(std::tuple), which is constexpr since C++14. PiperOrigin-RevId: 648603141 Change-Id: Icbd61809f7a06723cf581dbed5488b7bae998cc9
| * vdso_support: support DT_GNU_HASHGravatar Fangrui Song2024-07-01
| | | | | | | | | | | | | | | | | | | | | | This library provides `LookupSymbol` and `LookupSymbolByAddress`. The latter needs `GetNumSymbols` support. An object file needs either .hash (DT_HASH) or .gnu.hash (DT_GNU_HASH). This patch adds DT_GNU_HASH support. Note: glibc has been supporting DT_GNU_HASH since 2006 and .hash has been quite obsoleted in the Linux communities. PiperOrigin-RevId: 648459622 Change-Id: I3aa1274cd4617990844258175715e3be2343afd2
| * Make c_begin, c_end, and c_distance conditionally constexpr.Gravatar Abseil Team2024-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | This allows them to be used in constexpr expressions, such as the following: ``` constexpr int distance = absl::c_distance(std::array<int, 3>()); ``` Requires at least C++17 to be constexpr. PiperOrigin-RevId: 648435141 Change-Id: I8136e351a6dc4c25f06ef895fb449f4f11048480
| * Add operator<=> comparison to absl::Time and absl::Duration.Gravatar Charlie Beattie2024-07-01
| | | | | | | | | | PiperOrigin-RevId: 648433954 Change-Id: I32e47a89685419ae8d37dfadb354cfaab2a35ae9
| * Deprecate `ABSL_ATTRIBUTE_NORETURN` in favor of the `[[noreturn]]`Gravatar Derek Mauro2024-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | standardized in C++11 Migrate all Abseil code to `[[noreturn]]`. Notably, https://github.com/abseil/abseil-cpp/issues/1698 reports that `[[noreturn]]` works better here. We can't migrate `ABSL_ATTRIBUTE_NORETURN` to use `[[noreturn]]` because the difference in accepted attribute placement breaks some code. PiperOrigin-RevId: 648395324 Change-Id: Icd3e9b837aac25f128e8994de099f1edb3cabccf
| * Rollback new poisoned pointer APIGravatar Derek Mauro2024-07-01
| | | | | | | | | | | | | | | | | | This breaks Chromium due to global constructor and incorrectly assumes page size. https://github.com/abseil/abseil-cpp/pull/1697 PiperOrigin-RevId: 648377066 Change-Id: I19f8b2655971a0c314091e26e62e10a5a9c46e94
| * Static cast instead of reinterpret cast raw hash set slots as casting from ↵Gravatar Abseil Team2024-07-01
| | | | | | | | | | | | | | void* to T* is well defined PiperOrigin-RevId: 648352837 Change-Id: I082cd0c007706ae8baa8f26cdc85d51b69bffd54
| * Fix absl::NoDestructor documentation about its use as a globalGravatar Derek Mauro2024-06-27
| | | | | | | | | | | | | | | | | | It is not possible to have a constant-initialized object of type absl::NoDestructor<T>. Fix the documentation so that it doesn't mention this possibility. Only recommend it use as a function-scope static variable, and discourage its use as a global variable. PiperOrigin-RevId: 647488395 Change-Id: Ifee052fce07609d3de72cddc30e86de67706cd91
| * Declare Rust demangling feature-complete.Gravatar Chris Mihelich2024-06-27
| | | | | | | | | | PiperOrigin-RevId: 647417773 Change-Id: I7d945ae27199262b3baf83b232d17c2f641a27ac
| * Split demangle_internal into a tree of smaller libraries.Gravatar Chris Mihelich2024-06-27
| | | | | | | | | | PiperOrigin-RevId: 647359155 Change-Id: I5aba1169b01a74c4431f5ee3788b490124eeaa65
| * Decode Rust Punycode when it's not too long.Gravatar Chris Mihelich2024-06-27
| | | | | | | | | | PiperOrigin-RevId: 647340145 Change-Id: I4b0076595dbda1f81ffdc32adad2dc1e35cb9e04
| * Add assertions to detect reentrance in `IterateOverFullSlots` and ↵Gravatar Vitaly Goldshteyn2024-06-27
| | | | | | | | | | | | | | | | | | `absl::erase_if`. Since we have potential plans to use this function more widely including `absl::c_for_each`, we need to have good error detection. PiperOrigin-RevId: 647236725 Change-Id: I5035bfb8cef24f80f1bbed83a42380e57d84e428
| * Decoder for Rust-style Punycode encodings of bounded length.Gravatar Chris Mihelich2024-06-26
| | | | | | | | | | PiperOrigin-RevId: 647093624 Change-Id: Ic76bfa4aa8fb616cb23095ce7bfa30c3812dcb21
| * Add `c_contains()` and `c_contains_subrange()` to `absl/algorithm/container.h`.Gravatar Abseil Team2024-06-26
| | | | | | | | | | | | | | These functions are based on the C++23's `std::ranges::contains()` and `std::ranges::contains_subrange()` functions, see: https://en.cppreference.com/w/cpp/algorithm/ranges/contains PiperOrigin-RevId: 647084955 Change-Id: If5a01784e3cf1cc4d88e7f2fef92a3701fafc886
| * Three-way comparison spaceship <=> operators for Cord.Gravatar Abseil Team2024-06-26
| | | | | | | | | | | | | | This is portable because cord already has `operator<` etc., which will be unaffected. This just allows C++ >= 20 users to explicitly call `operator<=>`. PiperOrigin-RevId: 646951415 Change-Id: I1432e224bd5dc09b99d56a1d27e95078463adf45
| * internal-only changeGravatar Abseil Team2024-06-26
| | | | | | | | | | PiperOrigin-RevId: 646949076 Change-Id: I0d3fc57aee38e5b3a5b85e2301f5035bfd0e388b
| * Remove erroneous preprocessor branch on SGX_SIM.Gravatar Evan Brown2024-06-25
| | | | | | | | | | PiperOrigin-RevId: 646614152 Change-Id: Iee853bdc6f753d758c850a529a6adb05d0d0b1a7
| * Add an internal API to get a poisoned pointer.Gravatar Evan Brown2024-06-24
| | | | | | | | | | | | | | The motivation is to make destroyed/moved-from objects cause crashes when they are accessed. PiperOrigin-RevId: 646229564 Change-Id: I68d9c189b542df0933af08f5ad63dc1f5764d856
| * optimization.h: Add missing <utility> header for C++Gravatar Abseil Team2024-06-24
| | | | | | | | | | PiperOrigin-RevId: 646172195 Change-Id: I089f1d84f2d73b663f12e6818f96436e054e71ae
| * Add a compile test for headers that require C compatibilityGravatar Derek Mauro2024-06-24
| | | | | | | | | | | | | | | | windows_clangcl_bazel.bat includes a change from --copt to --cxxopt to only pass /std:c++XX to C++ compiles PiperOrigin-RevId: 646157298 Change-Id: Ib6d9861a2b2d45eb0d664f23b6f3a7426f8e0ab3
| * Fix comment typoGravatar Anthony Lai2024-06-24
| | | | | | | | | | PiperOrigin-RevId: 646105357 Change-Id: Ia76c1ce33faf811e988d36747f187c112ccb967e
| * Expand documentation for SetGlobalVLogLevel and SetVLogLevel.Gravatar Tanvi Jagtap2024-06-24
| | | | | | | | | | PiperOrigin-RevId: 646031348 Change-Id: I212e34a0b89293bd9f0081047bb5a1eba5d04bcb
| * Roll back 6f972e239f668fa29cab43d7968692cd285997a9Gravatar Abseil Team2024-06-22
| | | | | | | | | | | | | | | | `optimization.h` needs to be compatible with C. `#include <utility>` is C++-only. PiperOrigin-RevId: 645651894 Change-Id: I55ebc3369b05788346cd0ab684b50bdfc2345fd4
| * PR #1692: Add missing `<utility>` includeGravatar Patrick O'Connell2024-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1692 `optimization.h` uses `std::unreachable()` if available but does not include `<utility>`, causing errors in `absl/strings/ascii.cc`. Merge bf912bb4e38341d6152ee145ec2be00251c42552 into 8a28a0c8732ba3bf0191fb6292fcad6e5948a047 Merging this change closes #1692 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1692 from poconn:optimization_missing_include bf912bb4e38341d6152ee145ec2be00251c42552 PiperOrigin-RevId: 645643983 Change-Id: I3966984afa81f2f6bce65dd872d326f0af114bfa