summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* CMake: install artifacts reflect the compiled ABIGravatar Abseil Team2022-09-06
| | | | | | | | | | | | | | | | | | Change `absl/base/options.h` at install time to reflect the ABI used to compile the libraries, i.e., if Abseil was compiled with C++ >= 17 then the `ABSL_OPTION_USE_STD_*` macros are set to `1`, because then the C++ 17 types are embedded in the ABI of the installed artifacts. Likewise, set the `target_compile_features()` of Abseil libraries to reflect the C++ version used to compile them. If they the Abseil libraries are compiled with C++ >= 17, then all downstream dependencies must also be compiled with C++ >= 17. Fixes #696 PiperOrigin-RevId: 472538165 Change-Id: Ic9e346ebe277c882a18ad96e1918c9e3511c91c3
* Fixes bug so that `%v` with modifiers doesn't compile. `%v` is not intended ↵Gravatar Abseil Team2022-09-06
| | | | | | | to work with modifiers because the meaning of modifiers is type-dependent and `%v` is intended to be used in situations where the type is not important. Please continue using if `%s` if you require format modifiers. PiperOrigin-RevId: 472534916 Change-Id: I5838761b2b40cbc4344077f23d44b1e634e5bae3
* Convert algorithm and container benchmarks to cc_binaryGravatar Derek Mauro2022-09-06
| | | | | PiperOrigin-RevId: 472521745 Change-Id: Ia76cd720d1036dce05f6332f41a2ff748b3ea971
* Merge pull request #1269 from isuruf:patch-1Gravatar Copybara-Service2022-09-06
|\ | | | | | | | | PiperOrigin-RevId: 472457798 Change-Id: I4abb971c9bb19cc1a1968525cebf473e41738768
* | InlinedVector: Small improvement to the max_size() calculationGravatar Derek Mauro2022-09-02
| | | | | | | | | | | | | | | | | | | | In some cases we can do a bit better by using std::min(std::numeric_limits<size_type>::max() / 2, allocator<T>::max_size()) They may help in some cases, particularly on 32-bit platforms. PiperOrigin-RevId: 471846886 Change-Id: I5bd63de5dd8aec3de6530a33d8904dd6e9bd015e
* | CMake: Mark hash_testing as a public testonly library, as it is with BazelGravatar Derek Mauro2022-09-02
| | | | | | | | | | PiperOrigin-RevId: 471833563 Change-Id: Ida281308afab67e73b2da61418e82b22c2110ef9
* | Remove the ABSL_HAVE_INTRINSIC_INT128 test from pcg_engine.hGravatar Derek Mauro2022-09-02
| | | | | | | | | | | | | | | | In the time since pcg_engine.h was written, absl::uint128 was fixed to generate identical code to __uint128_t PiperOrigin-RevId: 471789541 Change-Id: Ibd1afc3e5e6d57af27cdd6a21171c96ea333161c
| * Compile all dependencies of the DLL with ABSL_CONSUME_DLLGravatar Isuru Fernando2022-09-02
|/
* Fix ClangTidy warnings in btree.h and btree_test.cc.Gravatar Evan Brown2022-09-01
| | | | | PiperOrigin-RevId: 471639724 Change-Id: Ie609f4d5b15c06fc286fae2944b550937da266d3
* Fix log StrippingTest on windows when TCHAR = WCHARGravatar Abseil Team2022-09-01
| | | | | PiperOrigin-RevId: 471622229 Change-Id: I787e0da71eaa1f99cc41b7950f93a43c6cced0ed
* Refactors checker.h and replaces recursive functions with iterative ↵Gravatar Abseil Team2022-09-01
| | | | | | | functions for readability purposes. PiperOrigin-RevId: 471622216 Change-Id: Ic28ed8e26d5085ccf20290d1b9c7a5e9bc1f0fde
* Refactors checker.h to use if statements instead of ternary operators for ↵Gravatar Abseil Team2022-09-01
| | | | | | | better readability. PiperOrigin-RevId: 471621696 Change-Id: I603e5707d896deef3a015c70ceac9778e360f72f
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-09-01
| | | | | PiperOrigin-RevId: 471600654 Change-Id: Iee722e5d736d341bc81cc10dac290383ba392f87
* Workaround for ASAN stack safety analysis problem with FixedArray container ↵Gravatar Abseil Team2022-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | annotations. The problem is that the underlying storage adds redzone after the actual data so from compiler's perspective it looks like a valid memory. In the outlined version the memory is returned in call.i.i with unknown size so the access check can't be removed. The workaround is to always outline the call to InitializeData for ASAN builds. Outlined version: %call.i.i = call noundef i32* @absl::FixedArray<int, 4ul, std::__u::allocator<int> >::Storage::InitializeData()(...), !dbg !28 store i32* %call.i.i, i32** %data_.i.i, align 8, !dbg !27 %arrayidx = getelementptr inbounds i32, i32* %call.i.i, i64 5, !dbg !29 %24 = bitcast i32* %arrayidx to i8*, !dbg !29 call void @llvm.asan.check.memaccess(i8* %24, i32 36), !dbg !29 store i32 0, i32* %arrayidx, align 4, !dbg !29 Inlined version: %arrayidx = getelementptr inbounds %"class.absl::FixedArray", %"class.absl::FixedArray"* %7, i64 0, i32 0, i32 0, i32 1, i64 20, !dbg !40 %27 = bitcast i8* %arrayidx to i32*, !dbg !40 >>>>>>>>>>>>>>> call to @llvm.asan.check.memaccess removed <<<<<<<<<<<<<< store i32 0, i32* %27, align 4, !dbg !40 Workaround for ASAN stack safety analysis problem with FixedArray container annotations. PiperOrigin-RevId: 471583635 Change-Id: I0d74eed5782a1cbd340ca4aca1bce71b63b06d43
* Rollback of fix "unsafe narrowing" warnings in absl, 8/n.Gravatar Derek Mauro2022-09-01
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on .cc files in */internal/.) Bug: chromium:1292951 PiperOrigin-RevId: 471561809 Change-Id: I7abd6d83706f5ca135f1ce3458192a498a6280b9
* Fix "unsafe narrowing" warnings in absl, 8/n.Gravatar Abseil Team2022-09-01
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on .cc files in */internal/.) Bug: chromium:1292951 PiperOrigin-RevId: 471549854 Change-Id: Id685d0e4666212926f4e001b8ef4930b6a33a4cc
* Changes mutex profilingGravatar Abseil Team2022-09-01
| | | | | PiperOrigin-RevId: 471545981 Change-Id: I4d2c8b6d4f1e58976915bda78a77178b8bf80da8
* InlinedVector: Correct the computation of max_size()Gravatar Derek Mauro2022-08-31
| | | | | | | | Corrects the computation of max_size(), so that it accounts for the size of the objects. PiperOrigin-RevId: 471343778 Change-Id: I68e222cefaa0295b8d8c38d00308a29df4165e81
* Adds support for "%v" in absl::StrFormat and related functions for ↵Gravatar Abseil Team2022-08-31
| | | | | | | string-like types (support for other builtin types will follow in future changes). Rather than specifying %s for strings, users may specify %v and have the format specifier deduced. Notably, %v does not work for `const char*` because we cannot be certain if %s or %p was intended (nor can we be certain if the `const char*` was properly null-terminated). If you have a `const char*` you know is null-terminated and would like to work with %v, please wrap it in a `string_view` before using it. PiperOrigin-RevId: 471321055 Change-Id: Ifbb50082d301baecc7edc277975f12e7ad3ecc8a
* Fixed header guards to match style guide conventions.Gravatar Abseil Team2022-08-31
| | | | | PiperOrigin-RevId: 471292183 Change-Id: Ic124d671dd3b0ae819f741885abb046cbf7e1add
* Typo fixGravatar Gennadiy Rozental2022-08-31
| | | | | PiperOrigin-RevId: 471290034 Change-Id: If5bbb990c302827c656c6437e6932221261d1319
* Added some more no_test.. tags to build targets for controlling testing.Gravatar Abseil Team2022-08-31
| | | | | PiperOrigin-RevId: 471256712 Change-Id: I2a1e4846a524bccd3c935a40abab0c0218afdfc0
* Remove includes which are not used directly.Gravatar Abseil Team2022-08-30
| | | | | PiperOrigin-RevId: 471030218 Change-Id: I727c7f8966fe9c96736283c8e1a13a76b3cdb53d
* CMake: Add an option to build the libraries that are used for writingGravatar Derek Mauro2022-08-29
| | | | | | | | | | | | | | | | tests without requiring Abseil's tests be built (default=OFF) This disables building libraries that are only used for writing tests by default. The logging library releases some libraries used for writing tests that themselves depend on GoogleTest. This allows Abseil to build by default without requiring GoogleTest. Fixes #1262 PiperOrigin-RevId: 470847215 Change-Id: I296f41aa06d6f302853af3f32e1f762649504afc
* Fix "unsafe narrowing" warnings in absl, 7/n.Gravatar Abseil Team2022-08-29
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on .cc files in debugging/internal/.) Bug: chromium:1292951 PiperOrigin-RevId: 470812243 Change-Id: I5578030bb42ba73cb83d4df84f89e431ceac8992
* Fix "unsafe narrowing" warnings in absl, 6/n.Gravatar Abseil Team2022-08-29
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on .cc files in strings/internal/.) Bug: chromium:1292951 PiperOrigin-RevId: 470810568 Change-Id: Ibd316a7e62cc43cb198ba22daed565c9573ce235
* Release the Abseil Logging libraryGravatar Gennadiy Rozental2022-08-25
| | | | | PiperOrigin-RevId: 470080638 Change-Id: I8d9ddfabc7704c383ed5a73abf0411f4c58a4bf7
* Switch time_state to explicit default initialization instead of value ↵Gravatar Andy Getzendanner2022-08-24
| | | | | | | | | | | | | initialization. It looks to me like the language rules treat these the same for this type, but evidently GCC feels differently. This only matters under TSAN where SpinLock has a non-trivial destructor, and under C++20 where ABSL_CONST_INIT is implemented (as constinit) by gcc. Fixes #1253 PiperOrigin-RevId: 469806751 Change-Id: Ic01b0142101f361bc19c95f9f9474e635669c58d
* spinlock.h: Clean up includesGravatar Abseil Team2022-08-24
| | | | | | | | 1. Removes unused includes 2. Replaces <stdint.h> with <cstdint> PiperOrigin-RevId: 469705016 Change-Id: Ic32871be93d01436f5538c44321faad7bd2e4511
* Fix minor typo in absl/time/time.h comment:Gravatar Abseil Team2022-08-23
| | | | | | | "ToDoubleNanoSeconds" -> "ToDoubleNanoseconds" PiperOrigin-RevId: 469525959 Change-Id: I43488ac8706cb857aa3890249a00fc141129dafa
* Support compilers that are unknown to CMakeGravatar Abseil Team2022-08-22
| | | | | | | | | | | | Abseil failed to configure with `ABSL_PROPAGATE_CXX_STD` if the compiler was not known to CMake: target_compile_features no known features for CXX compiler Turns the error into a warning by checking `CMAKE_CXX_COMPILE_FEATURES` before calling `target_compile_features`. PiperOrigin-RevId: 469254470 Change-Id: Ifba006dcdbf6a7112e382075b24678a792dbc827
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-08-18
| | | | | PiperOrigin-RevId: 468509663 Change-Id: I8b8d57cae59b4f44fb15ceb7a0d0c05310714921
* Change bit_width(T) to return int rather than T.Gravatar Abseil Team2022-08-18
| | | | | | | | This matches std::bit_width(). Bug: chromium:1292951 PiperOrigin-RevId: 468495319 Change-Id: I0e428addb6a7353abbf2063c5c2f5820c3bae789
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-08-17
| | | | | PiperOrigin-RevId: 468322981 Change-Id: I61762a1a83d5b138fd2e1a93035a5087a51a4e84
* Merge pull request #1252 from jwest591:conan-fixGravatar Copybara-Service2022-08-17
|\ | | | | | | | | PiperOrigin-RevId: 468237562 Change-Id: Ibb514d2ffe0d7227f495e612eb74a95a8cf963c3
* | Don't try to enable use of ARM NEON intrinsics when compiling in CUDA device ↵Gravatar Abseil Team2022-08-17
| | | | | | | | | | | | | | mode. They are not available in that configuration, even if the host supports them. PiperOrigin-RevId: 468232254 Change-Id: I1cd26eda2962778b62135a31f477928c3bde1124
| * Fix conan build stepGravatar jwest5912022-08-17
|/ | | Update replace_in_file call to match changes in CMakeLists.
* Fix "unsafe narrowing" warnings in absl, 5/n.Gravatar Abseil Team2022-08-17
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on .cc files in strings/internal/.) Bug: chromium:1292951 PiperOrigin-RevId: 468215101 Change-Id: I07fa487bcf2cf62d403489c3be7a5997cdef8987
* Fix "unsafe narrowing" warnings in absl, 4/n.Gravatar Abseil Team2022-08-17
| | | | | | | | | | | | | | | Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on .cc files in strings/, except /internal/.) Bug: chromium:1292951 PiperOrigin-RevId: 468205572 Change-Id: Ifce3f1a7a4b2b2c359bf7700a11279bebfef8a15
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-08-16
| | | | | PiperOrigin-RevId: 467992681 Change-Id: I086b3da8dd95b0498d5bc118b9243052586239e6
* Update Abseil platform support policy to point to the Foundational C++Gravatar Derek Mauro2022-08-16
| | | | | | | Support Policy PiperOrigin-RevId: 467974699 Change-Id: I1c3e5537aa8be592cace695f5a2f0adb9045efbe
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-08-16
| | | | | PiperOrigin-RevId: 467950116 Change-Id: Iccb0c80c93f1064a82a5537d4519b041609cddd6
* Add --features=external_include_paths to Bazel CI to ignore warningsGravatar Derek Mauro2022-08-15
| | | | | | | from dependencies PiperOrigin-RevId: 467659690 Change-Id: I4804a825af50594fdd49e8927411b805dc5912f5
* Merge pull request #1250 from jonathan-conder-sm:gcc_72Gravatar Copybara-Service2022-08-12
|\ | | | | | | | | PiperOrigin-RevId: 467205997 Change-Id: I2f579b98cb93486bc07d39e54df386e45d02a3fa
* \ Merge pull request #1249 from evanacox:masterGravatar Copybara-Service2022-08-12
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 467204807 Change-Id: Id7949726d67a16bf2daead7503f84e8b862fdb5f
| | * Workaround bug in GCC 7.2Gravatar Jonathan Conder2022-08-12
| |/ |/| | | | | | | | | See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83830. Before GCC 7.4, __cpp_lib_has_unique_object_representations was defined but has_unique_object_representations_v was not.
| * change explanation message in `ABSL_USE_SYSTEM_INCLUDES` optionGravatar Evan Cox2022-08-11
| |
| * add new CMake option `ABSL_USE_SYSTEM_INCLUDES`Gravatar Evan Cox2022-08-11
|/ | | | | When using Abseil as a dependency with CMake, files that include Abseil headers and have incompatible warning settings can emit compiler warnings. CMake allows you to mark include directories as `SYSTEM` includes, which causes compilers to ignore warnings from those headers. This adds the new option `ABSL_USE_SYSTEM_INCLUDES`, which makes Abseil's include directories be marked with `SYSTEM`.
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-08-11
| | | | | PiperOrigin-RevId: 467004870 Change-Id: I473c1b14e9e5fe55b8a16a0e1bc4439625a947c8
* Merge pull request #1246 from wxilas21:masterGravatar Copybara-Service2022-08-11
|\ | | | | | | | | PiperOrigin-RevId: 466946900 Change-Id: I4ebb641a46e6988dd98945226428e0a284c942b4