| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 472521745
Change-Id: Ia76cd720d1036dce05f6332f41a2ff748b3ea971
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 472457798
Change-Id: I4abb971c9bb19cc1a1968525cebf473e41738768
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 471833563
Change-Id: Ida281308afab67e73b2da61418e82b22c2110ef9
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/ |
|
|
|
|
|
| |
PiperOrigin-RevId: 471639724
Change-Id: Ie609f4d5b15c06fc286fae2944b550937da266d3
|
|
|
|
|
| |
PiperOrigin-RevId: 471622229
Change-Id: I787e0da71eaa1f99cc41b7950f93a43c6cced0ed
|
|
|
|
|
|
|
| |
functions for readability purposes.
PiperOrigin-RevId: 471622216
Change-Id: Ic28ed8e26d5085ccf20290d1b9c7a5e9bc1f0fde
|
|
|
|
|
|
|
| |
better readability.
PiperOrigin-RevId: 471621696
Change-Id: I603e5707d896deef3a015c70ceac9778e360f72f
|
|
|
|
|
| |
PiperOrigin-RevId: 471600654
Change-Id: Iee722e5d736d341bc81cc10dac290383ba392f87
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 471545981
Change-Id: I4d2c8b6d4f1e58976915bda78a77178b8bf80da8
|
|
|
|
|
|
|
|
| |
Corrects the computation of max_size(), so that it accounts for the
size of the objects.
PiperOrigin-RevId: 471343778
Change-Id: I68e222cefaa0295b8d8c38d00308a29df4165e81
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 471292183
Change-Id: Ic124d671dd3b0ae819f741885abb046cbf7e1add
|
|
|
|
|
| |
PiperOrigin-RevId: 471290034
Change-Id: If5bbb990c302827c656c6437e6932221261d1319
|
|
|
|
|
| |
PiperOrigin-RevId: 471256712
Change-Id: I2a1e4846a524bccd3c935a40abab0c0218afdfc0
|
|
|
|
|
| |
PiperOrigin-RevId: 471030218
Change-Id: I727c7f8966fe9c96736283c8e1a13a76b3cdb53d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 470080638
Change-Id: I8d9ddfabc7704c383ed5a73abf0411f4c58a4bf7
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
1. Removes unused includes
2. Replaces <stdint.h> with <cstdint>
PiperOrigin-RevId: 469705016
Change-Id: Ic32871be93d01436f5538c44321faad7bd2e4511
|
|
|
|
|
|
|
| |
"ToDoubleNanoSeconds" -> "ToDoubleNanoseconds"
PiperOrigin-RevId: 469525959
Change-Id: I43488ac8706cb857aa3890249a00fc141129dafa
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 468509663
Change-Id: I8b8d57cae59b4f44fb15ceb7a0d0c05310714921
|
|
|
|
|
|
|
|
| |
This matches std::bit_width().
Bug: chromium:1292951
PiperOrigin-RevId: 468495319
Change-Id: I0e428addb6a7353abbf2063c5c2f5820c3bae789
|
|
|
|
|
| |
PiperOrigin-RevId: 468322981
Change-Id: I61762a1a83d5b138fd2e1a93035a5087a51a4e84
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 468237562
Change-Id: Ibb514d2ffe0d7227f495e612eb74a95a8cf963c3
|
| |
| |
| |
| |
| |
| |
| | |
mode. They are not available in that configuration, even if the host supports them.
PiperOrigin-RevId: 468232254
Change-Id: I1cd26eda2962778b62135a31f477928c3bde1124
|
|/
|
| |
Update replace_in_file call to match changes in CMakeLists.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 467992681
Change-Id: I086b3da8dd95b0498d5bc118b9243052586239e6
|
|
|
|
|
|
|
| |
Support Policy
PiperOrigin-RevId: 467974699
Change-Id: I1c3e5537aa8be592cace695f5a2f0adb9045efbe
|
|
|
|
|
| |
PiperOrigin-RevId: 467950116
Change-Id: Iccb0c80c93f1064a82a5537d4519b041609cddd6
|
|
|
|
|
|
|
| |
from dependencies
PiperOrigin-RevId: 467659690
Change-Id: I4804a825af50594fdd49e8927411b805dc5912f5
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 467205997
Change-Id: I2f579b98cb93486bc07d39e54df386e45d02a3fa
|
|\ \
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 467204807
Change-Id: Id7949726d67a16bf2daead7503f84e8b862fdb5f
|
| |/
|/|
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
| |
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`.
|
|
|
|
|
| |
PiperOrigin-RevId: 467004870
Change-Id: I473c1b14e9e5fe55b8a16a0e1bc4439625a947c8
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 466946900
Change-Id: I4ebb641a46e6988dd98945226428e0a284c942b4
|