| Commit message (Collapse) | Author | Age |
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 654745969
Change-Id: I96b9797c0fb91cf22e5a50ef97223216683d4ec7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
GetPageSize requires windows include regardless of presence of ASAN or MSAN
PiperOrigin-RevId: 653705885
Change-Id: I4c7eec09db6c1a6168dd249cf584f1774d6cead2
|
| |
| |
| |
| |
| |
| |
| | |
GoogleTest version we depend on uses the public file
PiperOrigin-RevId: 653606441
Change-Id: Id49b18835443162ddf9747cc31619f3acf01f4ef
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 653567769
Change-Id: I0448322da95558ff6a04ab1aeab2b238674b69d1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 652552642
Change-Id: Ic4e367531893714aa216624176a56f39a5f59144
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 652291236
Change-Id: If590aaec354cb4b3f3ccbf91d1d05e75eb1c4c4c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 651258120
Change-Id: I1c343bc11407d33dc2d0bb1686be4bdbe6a600df
|
| |
| |
| |
| |
| |
| |
| | |
Also, return the middle of the poisoned block.
PiperOrigin-RevId: 651119057
Change-Id: Iae0fc3dcb40e32cd449f469d9b8d62c37f3773f4
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 651093644
Change-Id: Ia5bb3343ef06529d5fa2d469bcad47451ea79c69
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
https://learn.microsoft.com/en-us/cpp/code-quality/c26816?view=msvc-170
PiperOrigin-RevId: 650044473
Change-Id: I2bf31f1e4b972e890194d21c5a6dcb4ee9993484
|
| |
| |
| |
| |
| |
| |
| | |
This allows them to be used in constant expressions, such as static_asserts.
PiperOrigin-RevId: 649292841
Change-Id: I76e31a94b933fa357276fee534b81c00c28c8b23
|
| |
| |
| |
| |
| |
| |
| | |
string).
PiperOrigin-RevId: 649200175
Change-Id: Ic6741d9fe5e0b1853ed8bb37b585d38b51d15581
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 649138261
Change-Id: I8687eb7b06cc9e96779d1d3e98b44b4f643c95a8
|
| |
| |
| |
| |
| |
| |
| | |
unsigned integer overflow.
PiperOrigin-RevId: 648730502
Change-Id: I662c365c59be9e51f565fd215d284a96b7bd8743
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 648433954
Change-Id: I32e47a89685419ae8d37dfadb354cfaab2a35ae9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
void* to T* is well defined
PiperOrigin-RevId: 648352837
Change-Id: I082cd0c007706ae8baa8f26cdc85d51b69bffd54
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 647417773
Change-Id: I7d945ae27199262b3baf83b232d17c2f641a27ac
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 647359155
Change-Id: I5aba1169b01a74c4431f5ee3788b490124eeaa65
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 647340145
Change-Id: I4b0076595dbda1f81ffdc32adad2dc1e35cb9e04
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 647093624
Change-Id: Ic76bfa4aa8fb616cb23095ce7bfa30c3812dcb21
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 646949076
Change-Id: I0d3fc57aee38e5b3a5b85e2301f5035bfd0e388b
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 646614152
Change-Id: Iee853bdc6f753d758c850a529a6adb05d0d0b1a7
|
| |
| |
| |
| |
| |
| |
| | |
The motivation is to make destroyed/moved-from objects cause crashes when they are accessed.
PiperOrigin-RevId: 646229564
Change-Id: I68d9c189b542df0933af08f5ad63dc1f5764d856
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 646172195
Change-Id: I089f1d84f2d73b663f12e6818f96436e054e71ae
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 646105357
Change-Id: Ia76c1ce33faf811e988d36747f187c112ccb967e
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 646031348
Change-Id: I212e34a0b89293bd9f0081047bb5a1eba5d04bcb
|
| |
| |
| |
| |
| |
| |
| |
| | |
`optimization.h` needs to be compatible with C.
`#include <utility>` is C++-only.
PiperOrigin-RevId: 645651894
Change-Id: I55ebc3369b05788346cd0ab684b50bdfc2345fd4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|