- 01 Aug, 2024 1 commit
-
-
This updates to a version of GoogleTest that fixes https://github.com/google/googletest/issues/4581 for downstream users of rules_python PiperOrigin-RevId: 658398482 Change-Id: I4c6d431fd38d3a108e3c252eb26be9d81ff05a8e
Derek Mauro committed
-
- 30 Jul, 2024 3 commits
-
-
PiperOrigin-RevId: 657719871 Change-Id: If0f16b1d8cfae79f31427a804a5b838599154895
Abseil Team committed -
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1735 If asan is enabled with VS, the following warning is issued by the compiler: 1>C:\work\abseil-cpp\absl\debugging\leak_check.cc(46,68): error C4800: Implicit conversion from 'int' to bool. Possible information loss 1> C:\work\abseil-cpp\absl\debugging\leak_check.cc(46,68): 1> consider using explicit cast or comparison to 0 to avoid this warning Merge 9a6a677add58a9cd31b2381f6bdb5328c9b03c02 into 8cdf4821 Merging this change closes #1735 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1735 from pps83:master-int-bool-warn 9a6a677add58a9cd31b2381f6bdb5328c9b03c02 PiperOrigin-RevId: 657591557 Change-Id: I709424b5064160860186a42f854a1856465e80d0
Pavel P committed -
We already have `swap(raw_hash_set&, raw_hash_set&)` thus we may expect argument dependent lookup will use that function in following code snippet: ``` absl::flat_hash_map<...> x, y; using std::swap; swap(x, y); ``` But in practice `std::swap` will be called because `swap(raw_hash_set&, raw_hash_set&)` requires derived-to-base conversion while `std::swap` doesn't (it is a function template), thus `std::swap` is picked by compiler. To avoid this, we need a `swap` implementations which accept the exact `*_hash_*` types which is more preferred over `std::swap`. Note that this will fix issues#1571. PiperOrigin-RevId: 657419420 Change-Id: Id003b2129187ce2d4583029789ff96247d1490de
Abseil Team committed
-
- 29 Jul, 2024 2 commits
-
-
PiperOrigin-RevId: 657352849 Change-Id: I443f218b5500492948cd4c974313209907916355
Martijn Vels committed -
https://github.com/llvm/llvm-project/issues/100639 The second issue is still relevant. PiperOrigin-RevId: 657298935 Change-Id: Ifa2f1627deee3fc24e23ea78c5b01ed232813390
Abseil Team committed
-
- 26 Jul, 2024 2 commits
-
-
PiperOrigin-RevId: 656439732 Change-Id: I7f405d8075c57e634d51c11a37fbe3e317abf103
Michael Brase committed -
PiperOrigin-RevId: 656188416 Change-Id: I43d901d99f8a4688406b8aab08bc2655a065af46
Martijn Vels committed
-
- 25 Jul, 2024 5 commits
-
-
Many compiler optimizations, even some in Asan, assume that size of the object on the stack is fixed. Compiler takes into account the lifetime of the stack object, but it does not expect that size of the object can change. This assumption allow to accesses when ever object is alive. However, this assumption does not work well with custom poisoning of objects by sanitizers. `Cord` may poison parts of the object to improve a precision of the bug detection. But compiler still may load from poisoned parts of the object, assuming it's alive. So without the patch we can have `false-positive`, because compiler reordered load from poisoned local before size-check. https://github.com/llvm/llvm-project/issues/100639 Alternative is to make compiler optimization to know about possibility of local object resize, but it's not worth of effort, as it's needed only for sanitizers so far. Another minor issue fixed with this patch is `false-negative`. https://github.com/llvm/llvm-project/issues/100640 Asan drops instrumentation of memory accesses proven to be inbound of local variable. However if we if we take into account `custom poisoning` we will have to pessimize too often: any random function call can potentially `resize` a variable by `poisoning`. We are already using similar `poisoning` workaround in libc++: https://github.com/llvm/llvm-project/pull/79536/files#diff-534bc2907ddb3b074ded1353d18fd7d578daf1707943b3039bab4ed975aba3b3R772 PiperOrigin-RevId: 656129711 Change-Id: I6d78997da6d31c7ab979a00b84dc9b3b7cffc26f
Abseil Team committed -
The POSIX sigaltstack() function is not implemented on Fuchsia. PiperOrigin-RevId: 656080882 Change-Id: Ibf4892df85f299b888eb7f0016c220f49f975b96
Abseil Team committed -
PiperOrigin-RevId: 656010740 Change-Id: I99ef6f18502a0cb2c363c805ae5f9a9a42bd3b41
Martijn Vels committed -
PiperOrigin-RevId: 655958414 Change-Id: I09b3a86b009cd64e53d27b615c0ec127ed64e8e4
Sandy Zhang committed -
Update swisstable swap API comments to no longer guarantee that we don't move/swap individual elements. These comments have been wrong since the launch of swisstable SOO. PiperOrigin-RevId: 655916107 Change-Id: I18af13ccb19702266551b43251370a95f6c8bc90
Evan Brown committed
-
- 24 Jul, 2024 1 commit
-
-
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1726 ref: https://cmake.org/cmake/help/latest/prop_tgt/BUILD_WITH_INSTALL_RPATH.html Merge d7d460773fc94171aba41cd344705e9247a5eb81 into 5ea745c2 Merging this change closes #1726 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1726 from Mizux:master d7d460773fc94171aba41cd344705e9247a5eb81 PiperOrigin-RevId: 655593538 Change-Id: Iedd70d3a8b4f6256664aee26a698d4af0523d6b8
Mizux committed
-
- 23 Jul, 2024 1 commit
-
-
PiperOrigin-RevId: 655151660 Change-Id: I1aeb8eaeb3892eebcd31f28c646677dc82a267af
Abseil Team committed
-
- 22 Jul, 2024 2 commits
-
-
PiperOrigin-RevId: 654799253 Change-Id: Ide284386e864a21ab2dfae777912409bc74eebf8
Martijn Vels committed -
PiperOrigin-RevId: 654745969 Change-Id: I96b9797c0fb91cf22e5a50ef97223216683d4ec7
Derek Mauro committed
-
- 18 Jul, 2024 4 commits
-
-
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1720 Merge a72c4bcc7b45d17cf12bee62989722f16f85f0fd into 0598e582 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
Ikko Eltociear Ashimine committed -
GetPageSize requires windows include regardless of presence of ASAN or MSAN PiperOrigin-RevId: 653705885 Change-Id: I4c7eec09db6c1a6168dd249cf584f1774d6cead2
Abseil Team committed -
GoogleTest version we depend on uses the public file PiperOrigin-RevId: 653606441 Change-Id: Id49b18835443162ddf9747cc31619f3acf01f4ef
Derek Mauro committed -
PiperOrigin-RevId: 653567769 Change-Id: I0448322da95558ff6a04ab1aeab2b238674b69d1
Derek Mauro committed
-
- 15 Jul, 2024 3 commits
-
-
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 b86d574c 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
Aaron Bray committed -
PiperOrigin-RevId: 652552642 Change-Id: Ic4e367531893714aa216624176a56f39a5f59144
Abseil Team committed -
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 cd75cb4a 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
Arnaud Botella committed
-
- 14 Jul, 2024 1 commit
-
-
PiperOrigin-RevId: 652291236 Change-Id: If590aaec354cb4b3f3ccbf91d1d05e75eb1c4c4c
Gregory Pataky committed
-
- 11 Jul, 2024 4 commits
-
-
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 cd7f66ca 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
Arnaud Botella committed -
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 cd7f66ca 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
Soo-Hwan Na committed -
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 6dee1532 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
Eduardo Menges Mattje committed -
PiperOrigin-RevId: 651258120 Change-Id: I1c343bc11407d33dc2d0bb1686be4bdbe6a600df
Mike Kruskal committed
-
- 10 Jul, 2024 3 commits
-
-
Also, return the middle of the poisoned block. PiperOrigin-RevId: 651119057 Change-Id: Iae0fc3dcb40e32cd449f469d9b8d62c37f3773f4
Evan Brown committed -
PiperOrigin-RevId: 651093644 Change-Id: Ia5bb3343ef06529d5fa2d469bcad47451ea79c69
Laramie Leavitt committed -
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 f46495ea 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
Soo-Hwan Na committed
-
- 09 Jul, 2024 1 commit
-
-
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1706 Follow Google OSS policy. Merge 2ba42b9e5a9ac8c9fe0609fd1ac4cad24714727a into af4c589e 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
Christoph Grüninger committed
-
- 07 Jul, 2024 1 commit
-
-
https://learn.microsoft.com/en-us/cpp/code-quality/c26816?view=msvc-170 PiperOrigin-RevId: 650044473 Change-Id: I2bf31f1e4b972e890194d21c5a6dcb4ee9993484
Derek Mauro committed
-
- 04 Jul, 2024 1 commit
-
-
This allows them to be used in constant expressions, such as static_asserts. PiperOrigin-RevId: 649292841 Change-Id: I76e31a94b933fa357276fee534b81c00c28c8b23
Abseil Team committed
-
- 03 Jul, 2024 2 commits
-
-
PiperOrigin-RevId: 649200175 Change-Id: Ic6741d9fe5e0b1853ed8bb37b585d38b51d15581
Gennadiy Rozental committed -
PiperOrigin-RevId: 649138261 Change-Id: I8687eb7b06cc9e96779d1d3e98b44b4f643c95a8
Andy Getzendanner committed
-
- 02 Jul, 2024 2 commits
-
-
PiperOrigin-RevId: 648730502 Change-Id: I662c365c59be9e51f565fd215d284a96b7bd8743
Abseil Team committed -
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
Abseil Team committed
-
- 01 Jul, 2024 1 commit
-
-
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
Fangrui Song committed
-