--
f28b989d5161230c6561e923b458c797a96bcf90 by Greg Falcon <gfalcon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 263586488
--
8259484025b7de45358719fc6182a48cac8044c6 by Andy Soffer <asoffer@google.com>:
Internal changes and combine namespaces into a single namespace.
PiperOrigin-RevId: 263560576
--
8d19f41661984a600d1f8bbfeb8a30fcb4dee7d6 by Mark Barolak <mbar@google.com>:
Inside of absl::string_view::copy, use absl::string_view::traits_type::copy instead of std:copy to do the actual work. This both follows the C++ standard more closely and avoids avoid MSVC unchecked iterator warnings.
PiperOrigin-RevId: 263430502
--
c06bf74236e12c7c1c97bfcbbc9d29bd65d6b36c by Andy Soffer <asoffer@google.com>:
Remove force-inlining attributes. Benchmarking results indicate that they are creating meaningful performance differences.
PiperOrigin-RevId: 263364896
--
ec4fa6eac958a9521456201b138784f55d3b17bc by Abseil Team <absl-team@google.com>:
Make BM_Fill benchmarks more representative.
PiperOrigin-RevId: 263349482
--
4ae280b4eb31d9cb58e847eb670473340f7778c1 by Derek Mauro <dmauro@google.com>:
Fix new -Wdeprecated-copy warning in gcc9
PiperOrigin-RevId: 263348118
--
d238a92f452a5c35686f9c71596fdd1fe62090a2 by Matt Calabrese <calabrese@google.com>:
The std::is_trivially_xxx fail on versions of GCC up until 7.4 due to faulty underlying intrinsics, but our emulation succeeds. Update our traits to not compare against the standard library implementation in these versions.
PiperOrigin-RevId: 263209457
GitOrigin-RevId: f28b989d5161230c6561e923b458c797a96bcf90
Change-Id: I4c41db5928ba71e243aeace4420e06d1a2df0b5b
--
2dd3b23ea940804de727e396b300cfae4b1b71a1 by Derek Mauro <dmauro@google.com>:
Upgrade to LLVM r366207 and Bazel 0.28.1 for Linux-Clang testing.
PiperOrigin-RevId: 263162761
--
f03ae9e4e9f42c075745d28b4ced78071e73724a by Derek Mauro <dmauro@google.com>:
Remove unneeded dependencies on //absl/base from targets that no
longer depend on it.
PiperOrigin-RevId: 263129193
--
8ec2aab1eea50e7f71a6a687a07e5ae0e0945f5e by Derek Mauro <dmauro@google.com>:
Move raw_logging to a separate target (raw_logging_internal)
PiperOrigin-RevId: 262972007
GitOrigin-RevId: 2dd3b23ea940804de727e396b300cfae4b1b71a1
Change-Id: I3f4580e87797386b0b5e90c8ced74cbf078f61c1
--
d3d344e214e80b766d3e5c355e16124eb8602ff2 by Tom Manshreck <shreck@google.com>:
Add LTS Branch to LTS docs
PiperOrigin-RevId: 262904704
--
a9b10e6959209e8ded66e5fb041b4f1811a3f375 by CJ Johnson <johnsoncj@google.com>:
Minor cleanup on InlinedVector headers
PiperOrigin-RevId: 262632981
GitOrigin-RevId: d3d344e214e80b766d3e5c355e16124eb8602ff2
Change-Id: I3d0c078c08520b5c6a1a46c4b681ae0d98297f24
--
3dbb096e4662311f81df1017a8e0975e903936cf by Derek Mauro <dmauro@google.com>:
Document and workaround a known MSVC bug doing constexpr pointer arithmetic
PiperOrigin-RevId: 262604652
--
b5fa7f1a0c776f6ba20d52772a1679ec42ad21fd by Derek Mauro <dmauro@google.com>:
Fix typo in macos_xcode_bazel.sh
PiperOrigin-RevId: 262591285
--
89dd77ab5bb44d76b6cb6b2f288e21536e16a85a by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 262582747
--
32295ed9a0c6c8ab143a912194040eede05d3ea3 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 262569140
--
7f0f5b94197369228024529022d727439d2c894f by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 262563554
--
314aed043639abbd221074125c57b7c68616de7e by Derek Mauro <dmauro@google.com>:
Release absl::btree
PiperOrigin-RevId: 262553526
--
72b44056c6ce9000c4a6cd9aec58b82067c82a13 by CJ Johnson <johnsoncj@google.com>:
Internal change
PiperOrigin-RevId: 262421185
--
4e2c12151edf534f929e8e810f1334073f90489a by Abseil Team <absl-team@google.com>:
Update documentation to make it less likely for users to write `Hours(24)` without considering using civil dates instead.
PiperOrigin-RevId: 262420758
--
92b85b9573e800bd96b019408eefbc5ce4f68780 by Derek Mauro <dmauro@google.com>:
Add the ability to override the bazel version in the macos_xcode_bazel.sh
test script.
PiperOrigin-RevId: 262412063
GitOrigin-RevId: 3dbb096e4662311f81df1017a8e0975e903936cf
Change-Id: I423b2b829dc0c5f814e37bec4d68c7470f43f041
--
f51743aa96e19aa3dda96d09d313b4390f1d61e7 by CJ Johnson <johnsoncj@google.com>:
Minor touchup on the InlinedVector/Storage internal header file
PiperOrigin-RevId: 262389640
--
e2f54c1f7142e40d30ff0fda43bef050625821a5 by Abseil Team <absl-team@google.com>:
Update the absl codebase to use proper marketing names for macOS and Xcode
PiperOrigin-RevId: 262389450
--
f29aae774edd0d00e2daa1fb96694a6dc3565a55 by CJ Johnson <johnsoncj@google.com>:
Blocks code generator script from being affected by LTS inline namespaces
PiperOrigin-RevId: 262376791
GitOrigin-RevId: f51743aa96e19aa3dda96d09d313b4390f1d61e7
Change-Id: I33be7f5a708ce8a2b7111b00151e43d73c5e0009
--
38bc0644e17bf9fe4d78d3db92cd06f585b99ba7 by Andy Soffer <asoffer@google.com>:
Change benchmark to be cc_binary instead of cc_test, and fix a bug in the zipf_distribution benchmark in which arguments were passed in the wrong order.
PiperOrigin-RevId: 262227159
--
3b5411d8f285a758a1713f7ef0dbfa3518f2b38b by CJ Johnson <johnsoncj@google.com>:
Updates Simple<*>() overload to match the name schema of the others
PiperOrigin-RevId: 262211217
--
0cb6812cb8b6e3bf0386b9354189ffcf46c4c094 by Andy Soffer <asoffer@google.com>:
Removing period in trailing namespace comments.
PiperOrigin-RevId: 262210952
--
c903feae3a881be81adf37e9fccd558ee3ed1e64 by CJ Johnson <johnsoncj@google.com>:
This is a cleanup on the public header of InlinedVector to be more presentable
PiperOrigin-RevId: 262207691
--
9a94384dc79cdcf38f6153894f337ebb744e2d76 by Tom Manshreck <shreck@google.com>:
Fix incorrect doc on operator()[] for flat_hash_set
PiperOrigin-RevId: 262206962
--
17e88ee10b727af82c04f8150b6d246eaac836cb by Derek Mauro <dmauro@google.com>:
Fix gcc-5 build error
PiperOrigin-RevId: 262198236
GitOrigin-RevId: 38bc0644e17bf9fe4d78d3db92cd06f585b99ba7
Change-Id: I77cababa47ba3ee8b6cebb2c2cfc9f60a331f6b7
--
00c451dc81be7fe05f982b08b4ea1edc2ca2c1c5 by Abseil Team <absl-team@google.com>:
remove a test that is currently broken on emscripten from running on
emscripten.
PiperOrigin-RevId: 262005667
--
9df5f5acb65996bdb99900039a4f01a44811aa14 by CJ Johnson <johnsoncj@google.com>:
Adds a layer of macro-indirection to opening up namespace absl inside a macro. This helps avoid an issue identified with the LTS inline namespaces
PiperOrigin-RevId: 261990937
--
5d40aa129cd77a1b853e5389aff7eacffe5c8204 by Gennadiy Rozental <rogeeff@google.com>:
Fix handling of new lines in flag help descriptions.
If there are explicit new lines in a flag help description string,
we respect it and format the usage message accordingly.
PiperOrigin-RevId: 261974244
--
4997b5a2ddb983969059470a2d2bc2416b3d785e by CJ Johnson <johnsoncj@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 261955031
GitOrigin-RevId: 00c451dc81be7fe05f982b08b4ea1edc2ca2c1c5
Change-Id: I5a13bfb15bba0f7b6e49c0655c57c3addfeb1c72
--
f8fe0f483378c7520d8f8bdfabe4b20de4d96c7e by Andy Soffer <asoffer@google.com>:
Ensure that Invoke can support C++17 in the sense that noexcept is part of the type.
PiperOrigin-RevId: 261730155
--
bf796ab71653a80498f9374bc8c5111d065c64ba by Abseil Team <absl-team@google.com>:
Fix typo in static_assert message for copy/move constructible by replacing "by" with "be".
PiperOrigin-RevId: 261713992
--
8c7c17c40d03a322f304a2fd73ed34462dbf265a by Andy Soffer <asoffer@google.com>:
Add absl::is_function drop-in replacement for std::is_function. Some standard
libraries incorrectly implement std::is_function in a few corner cases. In
particular, libstdc++ functions marked noexcept.
The trick being used here is that function types decay to pointers. After
excluding cases like is_class, etc, we can distinguish function types by
testing for this decay.
Many thanks to ericwf@ for essentially writing this CL.
PiperOrigin-RevId: 261705008
--
c5adf42d0a132c2525d17a719329eab2ffe0aa94 by Abseil Team <absl-team@google.com>:
Add microbenchmark for StrSplit that uses delimiter ByAnyChar.
PiperOrigin-RevId: 261424010
--
66a342f9381ec56be2fe3aa5b3193dd3538a9740 by Andy Soffer <asoffer@google.com>:
CMake support for Abseil Random
This change touches almost build-related files for CMake almost exclusively. The one minor exception is random/internal/salted_seed_seq.h. The default warnings configuration for one of our CI builds requests not having named but unused parameters. The change in this file cleans up that warning.
PiperOrigin-RevId: 261192369
GitOrigin-RevId: f8fe0f483378c7520d8f8bdfabe4b20de4d96c7e
Change-Id: I05f662baacfe78750651535aa658f61c2327bc44
--
8f685654a7d04eb8a0cb82d31e44e391e906b609 by Derek Mauro <dmauro@google.com>:
Support constexpr construction of absl::string_view from a
string literal in MSVC 2017+.
Fixes https://github.com/abseil/abseil-cpp/issues/352
PiperOrigin-RevId: 260853160
--
a3c4c5168ce2a491134d7c87cf7fdc75d1ee2533 by Derek Mauro <dmauro@google.com>:
Make SwissTable's at() throw when exceptions are enabled
Fixes https://github.com/abseil/abseil-cpp/issues/355
PiperOrigin-RevId: 260788026
GitOrigin-RevId: 8f685654a7d04eb8a0cb82d31e44e391e906b609
Change-Id: I9ed498e181faa9c9d16e9b1b01404969d99b8ea9
--
788c948f698afe5998738cbb40b0629668640d73 by Derek Mauro <dmauro@google.com>:
Add an empty raw_logging_internal library. The raw_logging sources
will eventually migrate here.
This target will only contain internal sources. Abseil compatibility
guidelines require users not depend on internals.
https://abseil.io/about/compatibility
PiperOrigin-RevId: 260712817
--
8ea947ec54f47fb02e97597d243cb63aa4c5fe0b by Abseil Team <absl-team@google.com>:
Fixed an incorrect version number test for optional,etc. availability
in iOS. Added tests for watchOS and tvOS.
PiperOrigin-RevId: 260490390
--
53af0544277dc3020b81d16ce110e7bc89f5cf6e by Jorg Brown <jorg@google.com>:
Test the error-string path a bit more.
PiperOrigin-RevId: 260175886
GitOrigin-RevId: 788c948f698afe5998738cbb40b0629668640d73
Change-Id: I366b73331857dc5a1db843b650c2ba27a69a141e
--
1224e58a45e4d016b18f5a6cf5762ba33027017a by CJ Johnson <johnsoncj@google.com>:
Unifies the growth factor of InlinedVector's mutating members to max(2 * capacity, req_capacity). In doing so, LegacyNextCapacityFrom(...) is removed thus removing a loop from several callsites.
PiperOrigin-RevId: 259920301
--
945fc0bf27b67ea77d39144dcb6a483dc879ceda by Laramie Leavitt <lar@google.com>:
Cleanup header guards which do not reflect the correct style.
PiperOrigin-RevId: 259881520
--
8c7d0532ba9a9aabfd57f67552572b2b1bedda97 by Derek Mauro <dmauro@google.com>:
Move log_severity sources to the new log_severity target.
PiperOrigin-RevId: 259837015
GitOrigin-RevId: 1224e58a45e4d016b18f5a6cf5762ba33027017a
Change-Id: Id19506c3b8db71a0d4391ee917bfef3e802d550d
--
1f44f8f487aa3afe8248132e4081519e85671965 by CJ Johnson <johnsoncj@google.com>:
Updates ScopedAllocatorWorks test for InlinedVector to not depend on specific byte counts of standard library vectors. It's too brittle in the face of capacity-changing changes to InlinedVector and does not provide signal in those breakages.
PiperOrigin-RevId: 259590332
--
fef7589547e9cdd04a254f6ae06e2bd9ec2b35f0 by CJ Johnson <johnsoncj@google.com>:
Updates the implementation of InlinedVector::insert(...) to be exception safe and adds an exception safety tests for insert(...)
PiperOrigin-RevId: 259542968
GitOrigin-RevId: 1f44f8f487aa3afe8248132e4081519e85671965
Change-Id: I514beff56159c9c717f8d29197728011af1fecd7
--
dcff7cc4eb3837d39d1e083cbf1d4f082054cbf6 by Laramie Leavitt <lar@google.com>:
Add default and fallback modes for SaltedSeedSeq::generate().
SeedSeq::generate will often be called with contiguous ranges of uint32_t.
Detect this case and use the currently direct code paths to handle it.
Otherwise use a fallback mechanism which does an additional copy.
PiperOrigin-RevId: 258853656
--
59ec88845ac2ee6567c493021b54385940d66762 by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 258822137
--
eb2d1ab21f6f94c24c51c1cd3719846be259e8e7 by Abseil Team <absl-team@google.com>:
Add iOS version 11 to the mix of Apple OS versions that have various C++17 header files
but do not support them.
PiperOrigin-RevId: 258820405
--
452cea3e13b29797b2c385d7c6da7613d36bdc45 by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 258802436
GitOrigin-RevId: dcff7cc4eb3837d39d1e083cbf1d4f082054cbf6
Change-Id: I2261cb58e142eb15017ef646a56710dd64f06496
--
b0015627610a311997ab21b8b295a8168b5915ec by Derek Mauro <dmauro@google.com>:
Add an empty log_severity library. The log_severity sources will
eventually migrate here once users are updated to depend on the new
target.
Note that no opensource user should be depending on log_severity.h
today since it has no purpose in opensource.
PiperOrigin-RevId: 258781702
--
c4d8d03f731d1de648ef2d17a55c3a16029ba331 by Derek Mauro <dmauro@google.com>:
Move atomic_hook.h to its own internal target.
PiperOrigin-RevId: 258765527
GitOrigin-RevId: b0015627610a311997ab21b8b295a8168b5915ec
Change-Id: I0ec9b8b3cb6a27dc32a5f6c318d07e02548f193d
--
9c4ef32276054fba6a116c01cd4b3fd278f59ece by Andy Soffer <asoffer@google.com>:
Remove support for unused arbitrary-width output in FastUniformBits. Width
should be inferred from the requested return UIntType.
PiperOrigin-RevId: 257189319
--
e3326329d02171a301cc3d6ae617ed448472b728 by Abseil Team <absl-team@google.com>:
Update comments to make clear that absl::Format(std::string *, ...) appends to the provided string.
PiperOrigin-RevId: 257058043
--
e2096b06d714fba3ea2c885d670a42efd872765c by Xiaoyi Zhang <zhangxy@google.com>:
Fix compilation error on MSVC 2017. The root cause seems to be a compiler bug
in VS 2017 about pack expansion with multiple parameter packs, specifically `MakeVisitationMatrixImpl::Run` is triggering compiler error "error C3528: 'BoundIndices': the number of elements in this pack expansion does not match the number of elements in 'EndIndices'".
Work around this issue by using only one parameter pack `CurrIndices` in `MakeVisitationMatrixImpl::Run`.
PiperOrigin-RevId: 257040381
--
9ab75ff27b2513583fffc1233e6568aa96be36f7 by Matt Calabrese <calabrese@google.com>:
Internal change.
PiperOrigin-RevId: 257039041
GitOrigin-RevId: 9c4ef32276054fba6a116c01cd4b3fd278f59ece
Change-Id: I5f708bb03aff93948502394a413260af2a8a273b
--
a874475e842d2adeb31bb7bd37bdd6eb15a2aeb9 by Mark Barolak <mbar@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 256414250
--
c95e6c21944c59c9b9b9e7eb9dc79cfb9ae5ef8d by CJ Johnson <johnsoncj@google.com>:
Update the license year + run clang-format for the FixedArray and InlinedVector test files
PiperOrigin-RevId: 256376285
--
f430b04f332d6b89cb8447b07217e391e1c38000 by Derek Mauro <dmauro@google.com>:
Migrate the Linux CMake tests from GCC 4.8 to the GCC latest
version. This will allow us to delete the GCC 4.8 test since that is
currently our only CMake coverage. This also means that we don't have
to update the script every time we move to a new minumum GCC version.
This change includes a fix for a -Wstringops-truncation warning in
symbolize_test.cc that triggers when it is built in release mode with
the latest GCC.
PiperOrigin-RevId: 256370092
GitOrigin-RevId: a874475e842d2adeb31bb7bd37bdd6eb15a2aeb9
Change-Id: Ia2ec58f9b9dfc382d043344e346cb397b802270a
--
c2e2e2b21c3fe59b63279e7418c93c7289ee3e27 by Mark Barolak <mbar@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 256220326
--
3996b01f0c3eb60f72825b154dce8019b6215f1d by Derek Mauro <dmauro@google.com>:
Add GCC 4.9 test script. This will become our new minumum version and
GCC 4.8 will be removed soon.
PiperOrigin-RevId: 256160891
--
2c13aa44bc8e497ebae9abe8b8adf73c2152622d by Abseil Team <absl-team@google.com>:
[Trivial] tweak flat_hash_map.h doc comment
The comment is probably right both ways, but the lack of an "if" here seemed jarring to me.
PiperOrigin-RevId: 256089069
--
16bc03b9b30fbf08d7dc61025fa8ec4b57077be8 by Abseil Team <absl-team@google.com>:
Fix symbolization for elf files whose SYMTAB section is stripped, but have a DYNSYM section.
Previously, if we did not find a SYMTAB section, we would bail out of symbolization early, rather than checking the DYNSYM section.
PiperOrigin-RevId: 256061954
--
4c60ee329b1eeb0b0d10c4f76f282e5fbae2c5b2 by Derek Mauro <dmauro@google.com>:
Update to LLVM r363242 and Bazel 0.27.0
PiperOrigin-RevId: 256024405
--
18e1ba970d33f122026803d8ca90035b9088949d by Eric Fiselier <ericwf@google.com>:
Disable variant tests that break with P0608R3
PiperOrigin-RevId: 255975764
--
0a89858464977e86096b62476faa3b64eb94aa1d by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 255891019
--
9b7424cac66f5407f0ed74ed288bf3099a4fa330 by CJ Johnson <johnsoncj@google.com>:
Updates the implementation of InlinedVector::insert(...) to be exception safe and adds an exception safety tests for insert(...)
PiperOrigin-RevId: 255881809
--
1288f4ba3883c510d92b09437fb8b051c19aa241 by CJ Johnson <johnsoncj@google.com>:
Updates the implementation of InlinedVector::insert(...) to be exception safe and adds an exception safety tests for insert(...)
PiperOrigin-RevId: 255875277
--
39c04f3621491eaff9e2eda619718d5b5f20fbd9 by Abseil Team <absl-team@google.com>:
Use a typedef to allow building with NVCC
Without this change NVCC fails to compile compressed_tuple.h. NVCC is relevant
because TensorFlow uses NVCC on Ubuntu and inclues abseil.
PiperOrigin-RevId: 255850176
--
e23f0309ccad69eb508ca02c9034cd4cdd740da0 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 255787167
--
054aafcebf595077054164f1da3703124ab209b4 by Abseil Team <absl-team@google.com>:
Updates the ScopedAllocatorWorks test for InlinedVector to not rely on the byte count allocated by the standard library
In doing so, removes LegacyNextCapacityFrom(...) impl function from InlinedVector
Also applies clang-format to the test file
PiperOrigin-RevId: 255760356
--
eb05fc9f78e3a163c93f1866e9fe9a8ad0d01622 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 255706834
--
97abb824417604c45d9fcbb3e4ff1aa3000836f2 by Jorg Brown <jorg@google.com>:
Enhance compatibility of abseil's strings package with nvcc.
PiperOrigin-RevId: 255688500
--
efc5b9c221ee31e15d10b35d31c8f3ae6eddaa8c by Abseil Team <absl-team@google.com>:
Follow CCTZ's lead and allow GetWeekday() and GetYearDay() to be
called with any civil-time type. A CivilSecond, for example, has
a weekday just as much as a CivilDay does.
PiperOrigin-RevId: 255659840
--
a75acbe954457919d8c6c8f4c2339b543760b375 by Derek Mauro <dmauro@google.com>:
Increase the timeout of randen_engine_test.
It seems to timeout under TSAN often enough to justify the increase.
PiperOrigin-RevId: 255628086
--
160976ba47c7c6eb57af08e21f8eb640aa51e91b by Derek Mauro <dmauro@google.com>:
Update CMake documentation
Fixes https://github.com/abseil/abseil-cpp/issues/332
PiperOrigin-RevId: 255607313
GitOrigin-RevId: c2e2e2b21c3fe59b63279e7418c93c7289ee3e27
Change-Id: Iba4ac7ed23cbcdb22965b4958601f689be92cda4
--
c321829735accc2e6beb81e6a5a4421e5647b876 by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::swap(InlinedVector&) to be exception safe and adds exception safety tests
PiperOrigin-RevId: 255511536
--
0d86445891748efb09430eb9ede267b54185a246 by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::erase(...) to be exception safe and adds an exception safety test for it.
PiperOrigin-RevId: 255492671
--
f07e8fa62dfe9eb0d025b27fca8c6db43c5a328f by CJ Johnson <johnsoncj@google.com>:
Updates the implementation of InlinedVector::emplace_back(...) to be exception safe and adds exception safety tests
PiperOrigin-RevId: 255422837
--
4c3be92bfe4c1636a03cef8fd5aa802fed0d2c61 by Abseil Team <absl-team@google.com>:
Internal Change
PiperOrigin-RevId: 255422693
--
6df38ea42f00678c357a539016163f8ac4c084e6 by Gennadiy Rozental <rogeeff@google.com>:
Introduce public interfaces for setting and getting program usage messages.
PiperOrigin-RevId: 255291467
--
8f21d594aed3971d37db70226847c693eb548edb by Laramie Leavitt <lar@google.com>:
Move absl/random's copy of ABSL_ATTRIBUTE_FORCE_INLINE and
ABSL_ATTRIBUTE_NEVER_INLINE into .cc files and rename to
prevent conflicts.
https://github.com/abseil/abseil-cpp/issues/343
PiperOrigin-RevId: 255288599
--
6b7430ad0c8bd860fb9394894f5eeedd1acc9f77 by CJ Johnson <johnsoncj@google.com>:
Updates the ScopedAllocatorWorks test for InlinedVector to not rely on the byte count allocated by the standard library
In doing so, removes LegacyNextCapacityFrom(...) impl function from InlinedVector
Also applies clang-format to the test file
PiperOrigin-RevId: 255207606
GitOrigin-RevId: c321829735accc2e6beb81e6a5a4421e5647b876
Change-Id: I7438211c36c4549fca2e866658f8d579c65d7d52
--
2ee5dbb79b56539b580c3a36eec5a025d08b7022 by Eric Fiselier <ericwf@google.com>:
Unconditionally apply no-sanitize attributes.
We currently fail to apply the attributes in open-source
land because the build system doesn't define ADDRESS_SANITIZER
like we expect.
The attributes should have no effect when the sanitizers are
disabled.
PiperOrigin-RevId: 255024122
--
5a123175146de14d04013862aa378f28f8eff73c by CJ Johnson <johnsoncj@google.com>:
Updates the InputIterator-accepting member functions of InlinedVector to be cleaner/easier to read
PiperOrigin-RevId: 254994794
--
a4bdb61407a76317810785a34e49f996699ab4a4 by Abseil Team <absl-team@google.com>:
Added back c_move_backward which was previously deleted by mistake.
PiperOrigin-RevId: 254990809
--
bc427ca5f7fb88a70ba3a676bb9c7ff829c65ae9 by CJ Johnson <johnsoncj@google.com>:
Removes DestroyAndDeallocate() function from the internal details of InlinedVector because it ended up not being particularly useful
PiperOrigin-RevId: 254981201
GitOrigin-RevId: 2ee5dbb79b56539b580c3a36eec5a025d08b7022
Change-Id: I825c6c0a2fcf13ed6e60d71224037a57d7068d55
--
2f187776e55fe7741882d64aa4fb04d361dcd1da by Shaindel Schwartz <shaindel@google.com>:
Fix spaces.
PiperOrigin-RevId: 254880665
--
50a2c390c1e56bec574e9418a6d0c5765f2e1d56 by CJ Johnson <johnsoncj@google.com>:
Fixes a ubsan violation bug report: https://github.com/abseil/abseil-cpp/issues/337
PiperOrigin-RevId: 254846112
--
563fee16ee0ac32a93292c3b2d1cf9543bad4758 by CJ Johnson <johnsoncj@google.com>:
In the InlinedVector copy-assignment operator, substitutes-in a call to DeallocateIfAllocated() (which was not previously available)
PiperOrigin-RevId: 254835012
--
d07f4d91b43242c5e8bd90f1e93f55f7972eed04 by Shaindel Schwartz <shaindel@google.com>:
#336
PiperOrigin-RevId: 254833534
--
1ad0fe00169a794176605a897f15fad8625339bd by Shaindel Schwartz <shaindel@google.com>:
#335
PiperOrigin-RevId: 254826748
--
436a29591c60c6ac9bb7b98e4906c0a7466611c1 by Shaindel Schwartz <shaindel@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 254820333
--
e782a5387a750319eb6ed5d9927ec2463bd68ebb by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::resize(...) to be exception safe and adds exception safety tests
PiperOrigin-RevId: 254818993
--
6d2f8538fb06a09af47232d86b32dfc020b62133 by CJ Johnson <johnsoncj@google.com>:
Removes unnecessary transaction object from the implementation of InlinedVector::reserve(n)
PiperOrigin-RevId: 254804166
--
9a3a806702679a7442837089469cf171194da776 by Abseil Team <absl-team@google.com>:
Internal Change.
PiperOrigin-RevId: 254489023
--
ded1463ef81f3257645becc6be58df3b433ea21f by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::reserve(size_type) to be exception safe and adds exception safety tests
PiperOrigin-RevId: 254463057
GitOrigin-RevId: 2f187776e55fe7741882d64aa4fb04d361dcd1da
Change-Id: Id41fc5a62c8d71021e803721ecdbfb3ce60ef574
--
7a6ff16a85beb730c172d5d25cf1b5e1be885c56 by Laramie Leavitt <lar@google.com>:
Internal change.
PiperOrigin-RevId: 254454546
--
ff8f9bafaefc26d451f576ea4a06d150aed63f6f by Andy Soffer <asoffer@google.com>:
Internal changes
PiperOrigin-RevId: 254451562
--
deefc5b651b479ce36f0b4ef203e119c0c8936f2 by CJ Johnson <johnsoncj@google.com>:
Account for subtracting unsigned values from the size of InlinedVector
PiperOrigin-RevId: 254450625
--
3c677316a27bcadc17e41957c809ca472d5fef14 by Andy Soffer <asoffer@google.com>:
Add C++17's std::make_from_tuple to absl/utility/utility.h
PiperOrigin-RevId: 254411573
--
4ee3536a918830eeec402a28fc31a62c7c90b940 by CJ Johnson <johnsoncj@google.com>:
Adds benchmark for the rest of the InlinedVector public API
PiperOrigin-RevId: 254408378
--
e5a21a00700ee83498ff1efbf649169756463ee4 by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::shrink_to_fit() to be exception safe and adds exception safety tests for it.
PiperOrigin-RevId: 254401387
--
2ea82e72b86d82d78b4e4712a63a55981b53c64b by Laramie Leavitt <lar@google.com>:
Use absl::InsecureBitGen in place of std::mt19937
in tests absl/random/...distribution_test.cc
PiperOrigin-RevId: 254289444
--
fa099e02c413a7ffda732415e8105cad26a90337 by Andy Soffer <asoffer@google.com>:
Internal changes
PiperOrigin-RevId: 254286334
--
ce34b7f36933b30cfa35b9c9a5697a792b5666e4 by Andy Soffer <asoffer@google.com>:
Internal changes
PiperOrigin-RevId: 254273059
--
6f9c473da7c2090c2e85a37c5f00622e8a912a89 by Jorg Brown <jorg@google.com>:
Change absl::container_internal::CompressedTuple to instantiate its
internal Storage class with the name of the type it's holding, rather
than the name of the Tuple. This is not an externally-visible change,
other than less compiler memory is used and less debug information is
generated.
PiperOrigin-RevId: 254269285
--
8bd3c186bf2fc0c55d8a2dd6f28a5327502c9fba by Andy Soffer <asoffer@google.com>:
Adding short-hand IntervalClosed for IntervalClosedClosed and IntervalOpen for
IntervalOpenOpen.
PiperOrigin-RevId: 254252419
--
ea957f99b6a04fccd42aa05605605f3b44b1ecfd by Abseil Team <absl-team@google.com>:
Do not directly use __SIZEOF_INT128__.
In order to avoid linker errors when building with clang-cl (__fixunsdfti, __udivti3 and __fixunssfti are undefined), this CL uses ABSL_HAVE_INTRINSIC_INT128 which is not defined for clang-cl.
PiperOrigin-RevId: 254250739
--
89ab385cd26b34d64130bce856253aaba96d2345 by Andy Soffer <asoffer@google.com>:
Internal changes
PiperOrigin-RevId: 254242321
--
cffc793d93eca6d6bdf7de733847b6ab4a255ae9 by CJ Johnson <johnsoncj@google.com>:
Adds benchmark for InlinedVector::reserve(size_type)
PiperOrigin-RevId: 254199226
--
c90c7a9fa3c8f0c9d5114036979548b055ea2f2a by Gennadiy Rozental <rogeeff@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 254072387
--
c4c388beae016c9570ab54ffa1d52660e4a85b7b by Laramie Leavitt <lar@google.com>:
Internal cleanup.
PiperOrigin-RevId: 254062381
--
d3c992e221cc74e5372d0c8fa410170b6a43c062 by Tom Manshreck <shreck@google.com>:
Update distributions.h to Abseil standards
PiperOrigin-RevId: 254054946
--
d15ad0035c34ef11b14fadc5a4a2d3ec415f5518 by CJ Johnson <johnsoncj@google.com>:
Removes functions with only one caller from the implementation details of InlinedVector by manually inlining the definitions
PiperOrigin-RevId: 254005427
--
2f37e807efc3a8ef1f4b539bdd379917d4151520 by Andy Soffer <asoffer@google.com>:
Initial release of Abseil Random
PiperOrigin-RevId: 253999861
--
24ed1694b6430791d781ed533a8f8ccf6cac5856 by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::assign(...)/InlinedVector::operator=(...) to new, exception-safe implementations with exception safety tests to boot
PiperOrigin-RevId: 253993691
--
5613d95f5a7e34a535cfaeadce801441e990843e by CJ Johnson <johnsoncj@google.com>:
Adds benchmarks for InlinedVector::shrink_to_fit()
PiperOrigin-RevId: 253989647
--
2a96ddfdac40bbb8cb6a7f1aeab90917067c6e63 by Abseil Team <absl-team@google.com>:
Initial release of Abseil Random
PiperOrigin-RevId: 253927497
--
bf1aff8fc9ffa921ad74643e9525ecf25b0d8dc1 by Andy Soffer <asoffer@google.com>:
Initial release of Abseil Random
PiperOrigin-RevId: 253920512
--
bfc03f4a3dcda3cf3a4b84bdb84cda24e3394f41 by Laramie Leavitt <lar@google.com>:
Internal change.
PiperOrigin-RevId: 253886486
--
05036cfcc078ca7c5f581a00dfb0daed568cbb69 by Eric Fiselier <ericwf@google.com>:
Don't include `winsock2.h` because it drags in `windows.h` and friends,
and they define awful macros like OPAQUE, ERROR, and more. This has the
potential to break abseil users.
Instead we only forward declare `timeval` and require Windows users
include `winsock2.h` themselves. This is both inconsistent and poor QoI, but so
including 'windows.h' is bad too.
PiperOrigin-RevId: 253852615
GitOrigin-RevId: 7a6ff16a85beb730c172d5d25cf1b5e1be885c56
Change-Id: Icd6aff87da26f29ec8915da856f051129987cef6
1. Move default case outside switch. This is a good practice because it allows -Wswitch to warn about missing enum values.
2. Use absl::StrCat() instead of (nonexistent) SimpleItoa().
--
635146be541d732fbf2e9c93c6bec89035552484 by Gennadiy Rozental <rogeeff@google.com>:
Merge external PR #324
PiperOrigin-RevId: 253849839
--
7a37f87f0f419ab535e59c7dae7961546586671a by Gennadiy Rozental <rogeeff@google.com>:
Merge external PR #323
PiperOrigin-RevId: 253849558
--
75455e93e1f3987c926f35fbe80a0ea84e4ba35b by CJ Johnson <johnsoncj@google.com>:
Removes `ivi` namespace typedef to reduce reader confusion
PiperOrigin-RevId: 253789534
--
2f99d27194468129767c48ab621b952660427493 by CJ Johnson <johnsoncj@google.com>:
New benchmarks the various overloads of InlinedVector::assign(...)/InlinedVector::operator=(...)
PiperOrigin-RevId: 253787316
--
a0949eb100b93aae22b85b4a4820e4bf9a5a2dbb by CJ Johnson <johnsoncj@google.com>:
Updates the definition of `InlinedVector::pop_back(...)` to be cleaner and more direct (hiding the is_allocated branch behind a single call to `data()`)
Adds exception safety test for `InlinedVector::pop_back(...)`
PiperOrigin-RevId: 253607385
--
2dbc728ddf84835dcb6341f9a166f1c9bde103b9 by CJ Johnson <johnsoncj@google.com>:
Adds the remaining constructor exception safety tests for InlinedVector
PiperOrigin-RevId: 253592324
--
40d88e0d6232c93af5e008088f69ad41cb44e4ce by CJ Johnson <johnsoncj@google.com>:
Updates the constructors of InlinedVector to new, exception-safe and more-performant implementations.
PiperOrigin-RevId: 253294508
GitOrigin-RevId: 635146be541d732fbf2e9c93c6bec89035552484
Change-Id: I7d37a749632084f5d7fa56d42392e622a9d0180d
--
fc61fc3822d414a1abda906a81208d2667195de3 by Abseil Team <absl-team@google.com>:
Clarify documentation relating to the output of the various
printing functions.
PiperOrigin-RevId: 253041344
--
06cb414d1006cd89e38b381d52763b048909d69a by Jorg Brown <jorg@google.com>:
Change absl::container_internal::CompressedTuple to instantiate its
internal Storage class with the name of the type it's holding, rather
than the name of the Tuple. This is not an externally-visible change,
other than less compiler memory is used and less debug information is
generated.
PiperOrigin-RevId: 252940185
--
33b3f3ed6037eac7d1b7989a3641370e92beaeb9 by Jorg Brown <jorg@google.com>:
Change absl::container_internal::CompressedTuple to instantiate its
internal Storage class with the name of the type it's holding, rather
than the name of the Tuple. This is not an externally-visible change,
other than less compiler memory is used and less debug information is
generated.
PiperOrigin-RevId: 252902091
--
88595f4e7d6ac57bebdc9811045867f5d7477b5b by Abseil Team <absl-team@google.com>:
Unset thread_local/__thread support for Emscripten.
PiperOrigin-RevId: 252706297
--
cabd1715d873dc457271940335c764e62defb952 by Derek Mauro <dmauro@google.com>:
Rollback LLVM and Bazel version due to
intermittent network failures downloading from GitHub
PiperOrigin-RevId: 252661245
GitOrigin-RevId: fc61fc3822d414a1abda906a81208d2667195de3
Change-Id: I4c30995a2db7acef19415ad519259131584db261
--
4a21ad4ffa957d28b770de8717289fab7410f567 by Gennadiy Rozental <rogeeff@google.com>:
Internal cleanup
PiperOrigin-RevId: 252366381
--
b6b0f25439549c54f1537a16625be1fecd3c7d8c by Xiaoyi Zhang <zhangxy@google.com>:
Fix C4245 compiler warning of visual studio. This allows using abseil headers
in code requiring strict warning settings.
This is an import of https://github.com/abseil/abseil-cpp/pull/321.
PiperOrigin-RevId: 252101240
--
0543b7861b658a5a665298e1d868e29968ff7b27 by CJ Johnson <johnsoncj@google.com>:
Adds new benchmarks for the constructors of InlinedVector
PiperOrigin-RevId: 251905349
--
c65a08507917e9f8f6450b8beb235fe1426d7954 by CJ Johnson <johnsoncj@google.com>:
Updates the InlinedVector BatchedBenchmark abstractions to 1) provide the index of the instance back to the prepare and test functions so that callers may perform extra work on local state with a unique per-instance ID and 2) reduce the number of manually written calls to BENCHMARK_TEMPLATE.
PiperOrigin-RevId: 251895546
--
99a1ae2d786b80096172f6e018711e15c0c750b9 by Samuel Benzaquen <sbenza@google.com>:
Fix ambiguous construction problem in absl::variant<> to make in line with
std::variant.
ImaginaryFun is hiding duplicate objects instead of causing ambiguity. Add a
second unique argument to make sure all overloads exist in the final overload
set.
PiperOrigin-RevId: 251860694
--
b54d0a12673be6ebb6e77e24a556ce9b758b3a7e by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 251739183
--
f51b115e0dc3fc9a9c9c20b33a1f27027a700d48 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 251686812
--
30e868049282dc6a6fc77d923ca7d2a5d35a1658 by Xiaoyi Zhang <zhangxy@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 251652119
GitOrigin-RevId: 4a21ad4ffa957d28b770de8717289fab7410f567
Change-Id: I7171cb613793fa90e0eb0143b65ec8264a2a84db
--
39b55fafbe4a83f9f0524544a12d4ed02fdec751 by Xiaoyi Zhang <zhangxy@google.com>:
Avoid -Wundef warning of macro `ABSL_HAVE_ELF_MEM_IMAGE`.
This is github pull request https://github.com/abseil/abseil-cpp/pull/320.
PiperOrigin-RevId: 251646785
--
2fbf0de42d6723088211cb23444f16ecadcc7d67 by Abseil Team <absl-team@google.com>:
Add missing dependency on base:dynamic_annotations.
The target absl/debugging:symbolize includes dynamic_annotations from absl/debugging/symbolize_elf.inc.
PiperOrigin-RevId: 251430877
--
2537de6f01458938684f4818606ba5ce3f1c3cdf by CJ Johnson <johnsoncj@google.com>:
In InlinedVector: Combines storage_.SetAllocatedData(...) and storage_.SetAllocatedCapacity(...) into a single two-arg function also called storage_.SetAllocatedData(...) such that data and capacity must always be set together
PiperOrigin-RevId: 251331883
--
c05252c01710ac28d2c3defd09acfc55ecf2b8f1 by CJ Johnson <johnsoncj@google.com>:
So that InlinedVector constructors do no leak allocations when throwing exceptions, this CL moves the call to `clear()` from `~InlinedVector()` to `~Storage()`
In addition, noexcept specifiers have been added where appropriate (Copy construction and default construction on std::allocator are noexcept. See CppRef: https://en.cppreference.com/w/cpp/memory/allocator/allocator)
PiperOrigin-RevId: 251256272
--
34ce8367a8e29a0dea950c0e2967dd7cfdbd5d33 by CJ Johnson <johnsoncj@google.com>:
Cleans up InlinedVector constructors by inlining Impl functions with only one caller and dispatching where appropriate
PiperOrigin-RevId: 250919357
GitOrigin-RevId: 39b55fafbe4a83f9f0524544a12d4ed02fdec751
Change-Id: I21e8866582e6e02afb2c54f7347d624053e9ce45
--
0925eb11f7730d5a1e538b9e6c2d1f8239f5fdc0 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 250694613
--
4e1690e492a8399da1b1450ff5f21adf435fcef5 by Greg Falcon <gfalcon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 250684222
--
c7281b44eb005c21d45bdc0b437e47c7787275bc by Derek Mauro <dmauro@google.com>:
Fix warnings on Xcode/clang.
PiperOrigin-RevId: 250552120
--
5ea3b1cfa759a7e6c70e7558f27c762baf818f7d by CJ Johnson <johnsoncj@google.com>:
Minor edits to InlinedVector benchmarks: Adds DoNotOptimize to the member functions of NontrivialType, removes unused template parameter for InlVec typeder
PiperOrigin-RevId: 250505482
--
7fe9c02b49121936c5b47034f20272a916111174 by Matt Kulukundis <kfm@google.com>:
Internal change.
PiperOrigin-RevId: 250376825
--
ad348c9c0eb37449874648e8544c56343c1dfaef by CJ Johnson <johnsoncj@google.com>:
Minor edits to InlinedVector benchmark
PiperOrigin-RevId: 250361830
--
55e8b411431e982059af73b160fa6bcef90e87f7 by CJ Johnson <johnsoncj@google.com>:
Switches use of allocator_traits to the Abseil backport to leverage existing bug fixes and workarounds
PiperOrigin-RevId: 250359321
--
b0edbe3218940128523e36388a31ff90df01a364 by CJ Johnson <johnsoncj@google.com>:
Updates exception safety test for InlinedVector to use TYPED_TEST (with fixtures) which increases the coverage without complicating the code.
PiperOrigin-RevId: 250359198
--
8ab55c9a8c191aabcb562cf1789f360eba0b1a81 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 250281509
--
dd8a67f4f9e5e8930457203c18205183b8306b5a by Abseil Team <absl-team@google.com>:
Change the suggestions for the non-strict Next/PrevWeekday() calls.
Previously we suggested `PrevWeekday(d, Weekday::thursday) + 7`
to get the _following_ Thursday if d is not already a Thursday,
but `NextWeekday(d - 1, Weekday::thursday)` is more intuitive,
and probably even a little faster.
Similarly for the _previous_ Thursday if d is not already a
Thursday, suggest `PrevWeekday(d + 1, Weekday::thursday)`
instead of `NextWeekday(d, Weekday::thursday) - 7`.
PiperOrigin-RevId: 249840844
--
4775dce26cdb0560011a5d1ecdc8e0c20f856911 by Abseil Team <absl-team@google.com>:
Change the DbgHelp lib pragma to use lowercase and an extension.
This matches the conventions used in the Windows SDK.
PiperOrigin-RevId: 249826229
--
cbc49e865f3715ebe1983307d4f02e50998b2958 by Abseil Team <absl-team@google.com>:
Introduce Abseil prefixed thread annotation macros.
PiperOrigin-RevId: 249825200
--
8e97c8dfbadb78743c2421b494398be25f632cb1 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 249737936
--
0d720538bc6af3e77ac19def27a4a0514c2800d2 by Abseil Team <absl-team@google.com>:
Tell CMake Abseil is a C++ project.
PiperOrigin-RevId: 249726509
--
20651845edf236757b3ffb3eaeff330af81be40a by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 249726377
GitOrigin-RevId: 0925eb11f7730d5a1e538b9e6c2d1f8239f5fdc0
Change-Id: I05d18d30ad4e9ace6b60a17d2dc6fd699643fe30
this avoids e.g. on macOS:
In file included from abseil-cpp/absl/debugging/internal/elf_mem_image.cc:18:
abseil-cpp/absl/debugging/internal/elf_mem_image.h:37:5: error: 'ABSL_HAVE_ELF_MEM_IMAGE' is not defined, evaluates to 0 [-Werror,-Wundef]
^
1 error generated.
--
1edfe05ddddca43e7650b2d790df7c8498c0e588 by Abseil Team <absl-team@google.com>:
Adding an assert to catch various misuses of std::optional.
PiperOrigin-RevId: 249427865
--
45463bbb7e59dfbc584b2f024368a63db98bd7a8 by CJ Johnson <johnsoncj@google.com>:
Migrates internal member function GetAllocator() to GetAllocPtr() and changes the return type to pointer instead of reference to avoid unnecessary copy in DestroyElements(...)
PiperOrigin-RevId: 249319571
--
507835be22af85676143ee0c43a80a52bc32094c by Abseil Team <absl-team@google.com>:
Fix -Wstring-conversion in GetEnvVar (Windows implementation).
PiperOrigin-RevId: 249201897
GitOrigin-RevId: 1edfe05ddddca43e7650b2d790df7c8498c0e588
Change-Id: I9300131887ee507cf80d399c724cf87341e4f11a
--
b254aba40a65385deccd757480f8d7383f2f2f55 by CJ Johnson <johnsoncj@google.com>:
Updates some of the assignment operators to dispatch to the `assign(ForwardIt, ForwardIt)` member function (and removing `AssignForwardRange(...)` as a result.
PiperOrigin-RevId: 249030603
GitOrigin-RevId: b254aba40a65385deccd757480f8d7383f2f2f55
Change-Id: I6ba84c8e014d47de469691fa02f328df68066208
--
cae9f0c87632d690ec3f471e181be247fe4fb025 by Abseil Team <absl-team@google.com>:
Run IWYU on some headers.
PiperOrigin-RevId: 248749194
--
f57dcac97cacbe31769a8646020a99b6686987dc by Samuel Benzaquen <sbenza@google.com>:
Accept vector<bool>::reference in StrFormat and friends.
The proxy types might overload `operator&`. Use std::addressof instead.
PiperOrigin-RevId: 248619661
GitOrigin-RevId: cae9f0c87632d690ec3f471e181be247fe4fb025
Change-Id: Iacf5d46a59d1d5f1fa1fd4a1e0d0de8c6cbedb3e