--
0c2e865b4611eda0b43e64c177ac34540f059be2 by Mark Barolak <mbar@google.com>:
Fix a sample code snippet that assumes `absl::string_view::const_iterator` is `const char*`. This is generally true, however in C++17 builds, absl::string_view is an alias for std::string_view and on MSVC, the std::string_view::const_iterator is an object instead of just a pointer.
PiperOrigin-RevId: 233631168
--
16f472f1b94dabf81632d6845574513546c8026e by Abseil Team <absl-team@google.com>:
Updating documentation for custom StrSplit delimiters to reflect
the fact that string_view does not have a (string_view, start, len)
constructor.
PiperOrigin-RevId: 233611745
--
a3192dc5122a9a67e0e4d4d2421b0cdb10612c27 by Eric Fiselier <ericwf@google.com>:
Add missing <cassert> include.
PiperOrigin-RevId: 233523528
GitOrigin-RevId: 0c2e865b4611eda0b43e64c177ac34540f059be2
Change-Id: Ic12e547da3e9c4fe2e79b880f9426fa3cc0f4866
--
5da9755667df37e38ccaf6938c9f408e294110bb by Shaindel Schwartz <shaindel@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 232942734
--
b6fb275769c66fdd2bd92b119198c59e9a7dd737 by Samuel Benzaquen <sbenza@google.com>:
Fix integral underflow when from-arg width is INT_MIN.
PiperOrigin-RevId: 232888037
--
4135dbba4a26c4642277fc2a7e2a833d593daa1c by Abseil Team <absl-team@google.com>:
Add the insert_return_type alias to raw_hash_set.
PiperOrigin-RevId: 232683892
--
0b120b7d3693800bbb886f6fc607ae54a9338cb1 by Abseil Team <absl-team@google.com>:
Macros to detect and disabled SafeStack
https://clang.llvm.org/docs/SafeStack.html
PiperOrigin-RevId: 232680114
--
a77b3fb533a9e37966d1d6ef5ccd09c73fff2ca1 by Abseil Team <absl-team@google.com>:
Avoid potential red zone clobber
Pushing on the stack on x86-64 may clobber local variables held below
%rsp in the red zone. Avoid this by using lea on x86-64.
PiperOrigin-RevId: 232592478
--
bf326a0eefa92f4e704287563df0c5a5b1873b6d by Eric Fiselier <ericwf@google.com>:
Add additional tests for AbslHashValue.
PiperOrigin-RevId: 232344325
--
816e4f98fd7632c944c779db87b7dac4e138afcf by Eric Fiselier <ericwf@google.com>:
Avoid upcoming GCC 9.0 warnings about base class init.
Currently, in trunk, GCC has a new warning under -Wextra
that diagnoses when a derived class fails to explicitly
initialize the base class in a constructor initializer list.
This patch avoids this warning.
PiperOrigin-RevId: 232327626
--
779c0f44b3c2b7a04d4bdf978641eb8180515bf6 by Eric Fiselier <ericwf@google.com>:
Guard against C++2a char8_t change.
PiperOrigin-RevId: 232326178
--
41e5395b85bbbfb5bf418cc21b04ad4ccb15a284 by Eric Fiselier <ericwf@google.com>:
Avoid Clang Warning
PiperOrigin-RevId: 232138866
GitOrigin-RevId: 5da9755667df37e38ccaf6938c9f408e294110bb
Change-Id: I49ee4f58db177b81b039d7d949f671c97c5a7933
--
2c12ae8d6cbb8cbeb3ff446393578dd0d6d0cf8c by Andy Getzendanner <durandal@google.com>:
Fix printf POSIX reference link to point at printf(3) (the C API) instead of printf(1) (the shell utility).
PiperOrigin-RevId: 231719473
--
a36b3a0e539b5ca2033bb25438aa325ac84a285a by CJ Johnson <johnsoncj@google.com>:
Fixes "correct" but poor semantics `allocator_and_tag_` initializations in InlinedVector to the proper version that gets a reference/const reference to allocator_type
PiperOrigin-RevId: 231691608
--
de5eca5c7146a1e4692a201804817d98354d20ec by CJ Johnson <johnsoncj@google.com>:
Removes pathologically deleted move constructor and assignment operator from benchmark test type
PiperOrigin-RevId: 231680297
--
b2b52859e5f0e14a25047e528c8163b12ea9ca32 by Matt Armstrong <marmstrong@google.com>:
Assert on elapsed time, not absolute time.
This is a cosmetic change that aims to make
test failures clearer. Human readers no longer
need to do as much mental math to deduce the
magnitude of the failure. It does not change the
semantics of the test assertions.
PiperOrigin-RevId: 231644805
GitOrigin-RevId: 2c12ae8d6cbb8cbeb3ff446393578dd0d6d0cf8c
Change-Id: Ic121a26a7a6bb7441da6a8c1d7797bee4f705fdc
--
4a492de32dd1e02c5c3600bfdb36da7af7855210 by Samuel Benzaquen <sbenza@google.com>:
Fix potential intergral overflow in the parser.
PiperOrigin-RevId: 229378698
--
c5d5385eff879a65582138febb44c79725baf582 by CJ Johnson <johnsoncj@google.com>:
Adds an explanatory comment over AbslHashValue(...) for InlinedVector
PiperOrigin-RevId: 229237373
GitOrigin-RevId: 4a492de32dd1e02c5c3600bfdb36da7af7855210
Change-Id: Iad9edfde23ab5af9001ce80e3d00a34be3d73815
--
70b243f160a2f0f222066f62e06cc4346aea683d by Gennadiy Civil <misterg@google.com>:
Replace tests with new googletest Test Suite APIs
PiperOrigin-RevId: 228901526
--
28fe449f416c3d3fe882ef3dfa4289b94be5f8af by CJ Johnson <johnsoncj@google.com>:
Changes the style of enable_if on InlinedVector::insert(...) to match all others
PiperOrigin-RevId: 228878640
--
5b4732f783d16cfb19c8c42962201aafe12b3c0f by Abseil Team <absl-team@google.com>:
Update the absl::FromDateTime() deprecation message to refer to
absl::FromCivil(), the recommended replacement despite a slight
change in behavior for skipped civil times.
PiperOrigin-RevId: 228820837
--
ee77056d753bb8665236a173064af85d935acfc4 by Gennadiy Civil <misterg@google.com>:
Bump googletest to the latest
PiperOrigin-RevId: 228792994
--
aebc04f76b83a26432dba8e6199c971d5b69df0f by CJ Johnson <johnsoncj@google.com>:
Switches InlinedVector input/forward iterator tagged dispatch from callsite to template decorator
PiperOrigin-RevId: 228771063
GitOrigin-RevId: 70b243f160a2f0f222066f62e06cc4346aea683d
Change-Id: I5f8cd05685ff642eff81187b8e207a0bdbcf073a
--
ffe1bf0e5f98c77cf4193f24ae9ce94d16a72c6e by Alex Strelnikov <strel@google.com>:
Remove accidental duplication of conanfile.py.
PiperOrigin-RevId: 226926125
--
daf639ddd32c57d1c5ab99b26a9b15107f47ce16 by Derek Mauro <dmauro@google.com>:
Fix the CMake build for absl::container.
This target is deprecated and will be removed in the future.
Fixes https://github.com/abseil/abseil-cpp/pull/238
PiperOrigin-RevId: 226921798
--
b8ab2bb9081c266ced1d966c86d5b19af6b5b3ef by Abseil Team <absl-team@google.com>:
Cleanup: Fix some ClangTidy warnings.
PiperOrigin-RevId: 226678127
--
8cdc95316fc8baba00073c38a444c089ed2d5f5e by Abseil Team <absl-team@google.com>:
Cleanup: Fix some ClangTidy warnings.
PiperOrigin-RevId: 226567814
GitOrigin-RevId: ffe1bf0e5f98c77cf4193f24ae9ce94d16a72c6e
Change-Id: Idfe30b8b3229082eb7db4bfa928d3257be7dce1a
--
7fa1107161a03dac53fb84c2b06d8092616c7b13 by Abseil Team <absl-team@google.com>:
Harden the generic stacktrace implementation for use during early program execution
PiperOrigin-RevId: 226375950
--
079f9969329f5eb66f647dd3c44b17541b1bf217 by Matt Kulukundis <kfm@google.com>:
Workaround platforms that have over-aggressive warnings on -Wexit-time-destructors
PiperOrigin-RevId: 226362948
--
1447943f509be681ca5495add0162c750ef237f1 by Matt Kulukundis <kfm@google.com>:
Switch from 64 to size_t atomics so they work on embedded platforms that do not
have 64 bit atomics.
PiperOrigin-RevId: 226210704
--
d14d49837ae2bcde74051e0c79c18ee0f43866b9 by Tom Manshreck <shreck@google.com>:
Develop initial documentation for API breaking changes process:
PiperOrigin-RevId: 226210021
--
7ea3d7fe0e86979dab83a5fc9cc3bf1d6cb3bd53 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 226195522
--
7de873e880d7f016a4fa1e08d626f0535cc470af by Abseil Team <absl-team@google.com>:
Make Abseil LICENSE files newline terminated, with a single
trailing blank line. Also remove line-ending whitespace.
PiperOrigin-RevId: 226182949
--
7d00643fadfad7f0d992c68bd9d2ed2e5bc960b0 by Matt Kulukundis <kfm@google.com>:
Internal cleanup
PiperOrigin-RevId: 226045282
--
c4a0a11c0ce2875271191e477f3d36eaaeca4613 by Matt Kulukundis <kfm@google.com>:
Internal cleanup
PiperOrigin-RevId: 226038273
--
8ee4ebbb1ae5cda119e436e5ff7e3aa966608c10 by Matt Kulukundis <kfm@google.com>:
Adds a global sampler which tracks a fraction of live tables for collecting
telemetry data.
PiperOrigin-RevId: 226032080
--
d576446f050518cd1b0ae447d682d8552f0e7e30 by Mark Barolak <mbar@google.com>:
Replace an internal CaseEqual function with calls to the identical absl::EqualsIgnoreCase. This closes out a rather old TODO.
PiperOrigin-RevId: 226024779
--
6b23f1ee028a5ffa608c920424f1220a117a8f3d by Abseil Team <absl-team@google.com>:
Add December 2018 LTS branch to list of LTS branches.
PiperOrigin-RevId: 226011333
--
bb0833a43bdaef4c8c059b17bcd27ba9a085a114 by Mark Barolak <mbar@google.com>:
Explicitly state that when the SimpleAtoi family of functions encounter an error, the value of their output parameter is unspecified.
Also standardize the name of the output parameter to be `out`.
PiperOrigin-RevId: 225997035
--
46c1876b1a248eabda7545daa61a74a4cdfe9077 by Abseil Team <absl-team@google.com>:
Remove deprecated CMake function absl_test, absl_library and absl_header_library
PiperOrigin-RevId: 225950041
GitOrigin-RevId: 7fa1107161a03dac53fb84c2b06d8092616c7b13
Change-Id: I2ca9d3aada9292614527d1339a7557494139b806
--
636137f6f0de910691a3950387fefacfa4909fb8 by Abseil Team <absl-team@google.com>:
Add move semantics to absl::container_internal::CompressedTuple
PiperOrigin-RevId: 225394165
--
43da91e4f95a196b2e6b76f1c2f4158817b0ebb0 by Greg Falcon <gfalcon@google.com>:
Add a constructor to allow for global absl::Mutex instances.
This adds a new constexpr constructor to absl::Mutex, invoked with the absl::kConstInit tag value, which is intended to be used to construct Mutex instances with static storage duration.
What's tricky about is absl::Mutex (like std::mutex) is not a trivially destructible class, so by the letter of the law, accessing a global Mutex instance after it is destroyed results in undefined behavior. Despite this, we take care in the destructor to not invalidate the memory layout of the Mutex. Using a kConstInit-constructed global Mutex after it is destroyed happens to work on the toolchains we use. Google relies heavily on this behavior internally.
Code sanitizers that detect undefined behavior are able to notice use-after-free of globals, and might complain about this pattern.
PiperOrigin-RevId: 225389447
--
7b553a54bc6460cc7008b028552e66799475ca64 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 225373389
--
fd0c722d217b3b509102274765ccb1a0b596cf46 by Abseil Team <absl-team@google.com>:
Update absl/time/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 225246853
--
9f8f3ba3b67a6d1ac4ecdc529c8b8eb0f02576d9 by Abseil Team <absl-team@google.com>:
Update absl/synchronisation/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 225237980
--
a3fdd67dad2e596f804f5e100c8d3a74d8064faa by Abseil Team <absl-team@google.com>:
Internal cleanup
PiperOrigin-RevId: 225226813
--
48fab23fb8cdca45e95da14fce0de56614d09c25 by Jon Cohen <cohenjon@google.com>:
Use a shim #define for wchar_t in msvc in int128.
On ancient versions of msvc and with some compatibility flags on wchar_t is a typedef for unsigned short, whereas on standards-conforming versions wchar_t is a typedef for __wchar_t. The first situation causes int128 to not compile as you can't define both `operator wchar_t()` and `operator unsigned short()` because they are the same type.
This CL introduces a wrapper #define in order to abstract over the different typedefs for wchar_t. We do a define instead of a typedef so that we can #undef at the end and not leak the symbol, since we need it in a header.
https://docs.microsoft.com/en-us/previous-versions/dh8che7s(v=vs.140) has more detail about the underlying problem.
PiperOrigin-RevId: 225223756
GitOrigin-RevId: 636137f6f0de910691a3950387fefacfa4909fb8
Change-Id: Iad94e52e9484c5acec115a2f09ef2d5ec22c2074
--
e7f892a0b9b313b434c5f9e9a2365b377204b60e by Abseil Team <absl-team@google.com>:
Remove internal CaseEqual helper now that we have the equivalent absl::EqualsIgnoreCase.
PiperOrigin-RevId: 225189084
--
722af2c74766d2fe3cee13c8dc886d39aedda597 by Abseil Team <absl-team@google.com>:
Add -Wno-extra-semi-stmt to silence that warning.
The [-Wno-extra-semi] is already disabled in the build. This
change will allow the build to remain consistent across newer
versions of clang which are now issuing a new similiar warning
[-Wextra-semi-stmt]:
https://clang.llvm.org/docs/ReleaseNotes.html#major-new-featureshttps://clang.llvm.org/docs/DiagnosticsReference.html#wextra-semi-stmt
PiperOrigin-RevId: 225185101
--
f7fd6244b4efcf0331631a54b7b0cf5f1f691a89 by CJ Johnson <johnsoncj@google.com>:
Move using directive in swap implementation
PiperOrigin-RevId: 225017825
--
3005841725df5b9cdb35c8a5319bb4c78b5dc2b7 by Abseil Team <absl-team@google.com>:
Update absl/strings/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 224860689
--
eeaf7099924b182472bfea3636ef6d9a39adfc50 by CJ Johnson <johnsoncj@google.com>:
Prefer public method over private for InlinedVector allocator access
PiperOrigin-RevId: 224825775
--
db9d218e3ca7ab400eef97778b720cb082a03281 by Eric Fiselier <ericwf@google.com>:
Take advantage of secret libc++ resize uninitialized function in string.
PiperOrigin-RevId: 224817877
GitOrigin-RevId: e7f892a0b9b313b434c5f9e9a2365b377204b60e
Change-Id: I051beee37ee03f0570bd2e068355ad75c8bdfcf8
--
22fa219d17b2281c0695642830c4300711bd65ea by CJ Johnson <johnsoncj@google.com>:
Rearrange the private method declarations in InlinedVector
PiperOrigin-RevId: 224202447
--
eed3c9f488f23b521bee41d3683eb6cc22517ded by Derek Mauro <dmauro@google.com>:
Fix leak_check target (it was always a no-op when LSAN isn't available).
Fixes https://github.com/abseil/abseil-cpp/issues/232
PiperOrigin-RevId: 224201634
--
fc08039e175204b14a9561f618fcfc0234586801 by Greg Falcon <gfalcon@google.com>:
Add parens around more invocations of min() and max() missed in my prior CL.
PiperOrigin-RevId: 224162430
--
0ec5476a8293c7796cd84928a1a558b14f14f222 by Abseil Team <absl-team@google.com>:
Update absl/numeric/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 224139165
--
2b46aa6fabb20c589661f8bbc84030ecf39ce394 by Abseil Team <absl-team@google.com>:
Update absl/meta/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 224117258
--
6c951c798f8c6903bd8793a8a4b5f69244be8aa9 by Abseil Team <absl-team@google.com>:
Fix 2 Unused C++ BUILD Dependencies
PiperOrigin-RevId: 224070093
--
0ee7bd191708708f91fc5209c197fd93f6e4a8b3 by Greg Falcon <gfalcon@google.com>:
Inside Abseil headers, wrap most invocations of methods and functions named `min` and `max` in parentheses, for better interoperability with Windows toolchains.
CCTZ fixes will appear in a follow-up CL.
PiperOrigin-RevId: 224051960
--
f562f56577b84a8bc07e5873775c01d068531bca by Jon Cohen <cohenjon@google.com>:
Generate Abseil compile options. The single source of truth is now absl/copts/copts.py
The way this works goes something like this:
copts.py acts as the configuration file. We use python because unlike JSON it allows comments. It has two maps in it: one from names to external flags, and one from names to internal flags.
generate_copts.py imports the maps and loops through them to write GENERATED_copts.bzl and GENERATED_AbseilCopts.cmake
AbseilConfigureCopts.cmake and configure_copts.bzl import their respective copts args and set the platform-appropriate copts into ABSL_DEFAULT_COPTS, ABSL_TEST_COPTS, ABSL_EXCEPTIONS_FLAG, and ABSL_EXCEPTIONS_LINKOPTS
For Bazel, each BUILD file load()s configure_copts.bzl
For CMake, AbseilHelpers.cmake include()s AbseilConfigureCopts.cmake to get the final copts and both inserts them as needed into legacy target rules and also makes them available to the rest of our CMakeLists.txt file. We may instead want to include() AbseilConfigureCopts.cmake directly into each CMakeLists.txt file for consistency, but I'm not sure what the deal is with cmake and include guards, or if they are even needed. That's also not as idiomatic -- CMake tends to use directory scope where globals set at a higher level CMakeLists.txt file are used in the subdirectory CMakeLists.txt files.
PiperOrigin-RevId: 224039419
--
f7402f6bb65037e668a7355f0a003f5c05a3b6a7 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 224036622
GitOrigin-RevId: 22fa219d17b2281c0695642830c4300711bd65ea
Change-Id: I6b505360539ff2aef8aa30c51a5f7d55db1c75cf
--
cd076f55c1fa600131f6dda392533dfe61679fc0 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 224008762
--
e05f62b01286d51044ff86ec6ef565749b9faf82 by Abseil Team <absl-team@google.com>:
Create a pow10() test helper function to compute guaranteed-precise double values of 10^x. Not all standard libraries ship bit-accurate pow() functions, causing tests to fail that rely on expected values generated by it.
PiperOrigin-RevId: 223883762
--
fd88e5e3f7ab80f7f5df9fd1488cd58b4573be69 by Abseil Team <absl-team@google.com>:
Remove some absl:: qualifications to work around inline namespace bugs on MSVC 2015.
PiperOrigin-RevId: 223869642
--
6276cfff969d596edd36a2bbaba65ee045808903 by Abseil Team <absl-team@google.com>:
Update absl/memory/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 223854224
--
359de9afc7a34c975fd3e0cbc52afd96637d97bd by Chris Kennelly <ckennelly@google.com>:
Mark spinlock_benchmark_common as alwayslink = 1.
PiperOrigin-RevId: 223844536
--
450cd8cbe2789a6d54ed1eb87170259bb334f8b9 by Abseil Team <absl-team@google.com>:
Support .* (pointer-to-member dereference) expressions in demangle.cc.
PiperOrigin-RevId: 223826797
--
772ca92179c3634f3e31a80bbc272ed8022e3572 by Abseil Team <absl-team@google.com>:
Fix misspellings in absl::variant comments and replace a ' with a `.
PiperOrigin-RevId: 223807911
--
35dcdc2fbf299d195658aac101887f6dcad1de2f by Abseil Team <absl-team@google.com>:
Bug fix in CMakeLists.txt file (SRCS --> HDRS).
The compressed_tuple header-only library is being defined
with the SRCS parameter instead of the HDRS parameter and
this has been observed to cause some builds on some platforms
to attempt to create a static library from it which fails
since there are no .cc sources.
PiperOrigin-RevId: 223805367
--
4a57a3d2045bb137c0c97958e45ce425190b8d3e by Chris Kennelly <ckennelly@google.com>:
Add test that absl::make_unique value initializes memory.
PiperOrigin-RevId: 223801819
--
dfe8289d7f4dcc6bb568a26aaf192a89e896bdfd by Chris Kennelly <ckennelly@google.com>:
SpinLock: Use exchange to avoid missing wakeups.
The default fast path for SpinLock::Unlock does not use an atomic. If the
SpinLock becomes contended while we are unlocking between lockword_.load and
lockword_.store, we will fail to wake up the new waiter. This can cause
unexpected latency spikes.
PiperOrigin-RevId: 223800369
--
9b9d35df786482f0016f77dd31691eff81503d23 by Abseil Team <absl-team@google.com>:
Update absl/hash/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 223755819
--
c2014e2704b87e7cdce2d2a0287c7e2397752296 by Abseil Team <absl-team@google.com>:
Update absl/debugging/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 223751986
--
d83a4e09126400e3fd80645cb03ee558f532271e by Derek Mauro <dmauro@google.com>:
Cleanup synchronization benchmarks.
PiperOrigin-RevId: 223589416
--
fad140b473586531b5b12843f942ec27dfcf5e93 by CJ Johnson <johnsoncj@google.com>:
Makes unifies the order of forward_iterator and input_iterator overloads
PiperOrigin-RevId: 223580660
--
6cd7c96faa7cc5f79f574e35a1b13837ef187d05 by Abseil Team <absl-team@google.com>:
Internal Change.
PiperOrigin-RevId: 223561629
--
bd2e545356b0f548af0e3c14bb2f7f0e712e49d0 by Shaindel Schwartz <shaindel@google.com>:
Remove misleading comments. try_emplace() does not exist for the hash_set containers.
PiperOrigin-RevId: 223543089
--
0cd380a53b587eb7aacc4003a4a3bbb6c78d7c10 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 223512551
--
7156dfee599cb72e9adddfe0e6ae07a95ddf10bb by Greg Miller <jgm@google.com>:
Fixes UB that would result from constructing, multiplying, or dividing a
Duration with a double "NaN" value. This CL changes the absl::Duration
*implementation* to return an InfiniteDuration value that has the same sign as
the given NaN.
PiperOrigin-RevId: 223407499
--
196b7d18609958267951882baf7f9429e49bcafa by CJ Johnson <johnsoncj@google.com>:
Addresses NVCC+MSVC compilation bug where `inlined_capacity()` was not considered valid in constexpr
PiperOrigin-RevId: 223397718
GitOrigin-RevId: cd076f55c1fa600131f6dda392533dfe61679fc0
Change-Id: I5423ca6470f661a7c6f73aa8fee49990446f157f
--
008301e65c323ea0b78e4a92221bf43f7f01e358 by Abseil Team <absl-team@google.com>:
Add k...Pad17 through 20 PadSpec enum values.
PiperOrigin-RevId: 223371590
--
ad0580b0a215257044e090181630793b7e5e9ab0 by Jon Cohen <cohenjon@google.com>:
Make the table in the prefetch check not fit in L2 cache. This should help deflake the test.
PiperOrigin-RevId: 223224646
--
77c76690626b89944946d01da5e3428b763103e8 by Abseil Team <absl-team@google.com>:
Fixed typo in container by replacing asbl::Hash with absl::Hash.
PiperOrigin-RevId: 223083789
GitOrigin-RevId: 008301e65c323ea0b78e4a92221bf43f7f01e358
Change-Id: I81399f09cd82fbb27bcfec4c1517bb5d2fd07f3b
--
15d7bcf28220750db46930f4d8c090b54e3ae5fe by Jon Cohen <cohenjon@google.com>:
Fix miscellaneous CMake change interleaving issues for the daily release:
* add back the absl::container target
* Add copts to absl_cc_library targets in absl/container/CMakeLists.txt
* Add trailing newline to the end of AbseilConfigureCopts.cmake
PiperOrigin-RevId: 223057096
--
baac35470d75b6561477f688dc4eb021f604cf71 by Abseil Team <absl-team@google.com>:
Internal Cleanup.
PiperOrigin-RevId: 223051579
--
6791c2f2e35b030b5579f36d3c607c6ba92fa089 by Abseil Team <absl-team@google.com>:
Internal Change.
PiperOrigin-RevId: 223046855
--
5467ad987ea82aef77d2f1cc85aa9105e7d9c320 by Samuel Benzaquen <sbenza@google.com>:
Workaround for gcc bug https://gcc.gnu.org/PR88115
PiperOrigin-RevId: 223041901
--
36fa5cfd41df2b71d26487c45363901bbf6a2463 by Tom Manshreck <shreck@google.com>:
Clarify visit() constraints
PiperOrigin-RevId: 223032194
--
afdf4013de036b411db7f92cde8a2493e6665223 by Abseil Team <absl-team@google.com>:
Fix comment typos.
PiperOrigin-RevId: 223024090
--
e11c01927eb8b898f6633282824022104b258342 by Jon Cohen <cohenjon@google.com>:
Make absl::spinlock_test_common TESTONLY
This should fix https://github.com/abseil/abseil-cpp/issues/221
PiperOrigin-RevId: 222885323
--
5ccc576d1c68e4b92705aa8064f1e8d715e5415e by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 222877017
--
96ff25bf78c4f4bca0d6e61faa4feeab91a2e73c by Jon Cohen <cohenjon@google.com>:
Align CMake and Bazel compile options. This is the first step towards a single source of truth for Abseil compile options. Also makes absl_test and absl_cc_test make binaries and targets with compatible names to each other to make testing easier.
PiperOrigin-RevId: 222858408
--
7dd3e2618ad5a5de5d918fc73e438ef0b98cec6a by Abseil Team <absl-team@google.com>:
Revert "absl: cap SpinLock backoff to 4ms"
PiperOrigin-RevId: 222656230
--
0d49538a3cab714156ed0a5651656c0aa098a1e5 by Abseil Team <absl-team@google.com>:
Update absl/container/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 222535766
--
92744e9d0e5c3bf9e1167a7bdf1a6777192531b1 by Abseil Team <absl-team@google.com>:
Disable header parsing for broken targets
PiperOrigin-RevId: 222257218
--
39a6c623601c44e02d91e412f126a813d719507b by Abseil Team <absl-team@google.com>:
absl: cap SpinLock backoff to 4ms
The current backoff logic has 3 problems:
1. It can produce too high values (up to 256ms), which can negatively
affect tail latency. The value was chosen long time ago and now it's
a good idea to reconsider it.
2. It does not have low bound, so on any iteration it can produce
a very small value that will lead to unnecessary cpu consumption.
3. It does not increase low bound with the number of iterations.
So if the SpinLock is actually somehow locked for a very prolonged time,
a waiter can still wake periodically.
Rework the logic to solve these problems.
Add lower bound of 128us, no code should rely on absence of episodic
delays in this range as they can occur everywhere.
Lower upper bound to 4ms. A thread sleeping for 4ms does not consume
significant cpu time (see below).
Grow lower bound with the number of iterations.
This is cpu consumption of a process doing usleep(x) in a loop
(sampled with ps):
64us -> 4.0%
128us -> 2.7%
256us -> 3.5%
512us -> 2.8%
1024us -> 1.6%
2048us -> 0.6%
4096us -> 0.3%
8192us -> 0.0%
Few millisecond sleeps do not consume significant time.
PiperOrigin-RevId: 222196086
--
17104a2396ddda61fb0faed0a72ff8c161ca17ea by Shahriar Rouf <nafi@google.com>:
Add benchmarks for hashing civil_times.
PiperOrigin-RevId: 222152108
GitOrigin-RevId: 15d7bcf28220750db46930f4d8c090b54e3ae5fe
Change-Id: I73b929feaf6ce72b70fdafd6108f53bbbeaf9738
--
ee19e203eca970ff88e8f25ce4e19c32e143b988 by Jon Cohen <cohenjon@google.com>:
Exception safety testing no longer uses absl::optional
PiperOrigin-RevId: 220336204
--
460666eb0b316a8b4aeedc589644d53b05251bd1 by Derek Mauro <dmauro@google.com>:
Rework SwissTable SSE2 support
- Use SSE2 on MSVC when available
https://github.com/abseil/abseil-cpp/issues/210
- Emulate _mm_cmpgt_epi8 with other SSE2 instructions when using
-funsigned-char under GCC
https://github.com/abseil/abseil-cpp/issues/209
PiperOrigin-RevId: 220312351
--
1f4318ecedf8d539b7b698eb803d613ad6b69278 by Abseil Team <absl-team@google.com>:
Change CollectPerfectRatios to use 10 trials to smooth out the outliers in the
sample.
PiperOrigin-RevId: 220286579
--
6755abc2673553a7f578bb29c6e9ca8d991bc9c8 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 220274307
--
8645b6187329ebf0aaf3c2de2888ba44466cd879 by Abseil Team <absl-team@google.com>:
* #endif for a header guard should reference the guard macro in a comment
PiperOrigin-RevId: 220206868
--
3987a7ad11319230910931cd2468b60b3fd1b85c by Gennadiy Civil <misterg@google.com>:
Internal Change
PiperOrigin-RevId: 220136674
--
cc908c1db2ee0d4523dc813e33f600583bb986c5 by Abseil Team <absl-team@google.com>:
absl: fix backoff logic in SpinLockWait
There are 3 bugs in loop variable handling:
1. It starts with 0, but AbslInternalSpinLockDelay ignores loop == 0.
So it does not actually wait when it should.
2. loop is incremented after successful state changes,
but it should not (why would be increase backoff delay after that?).
3. loop is incremented after CAS failures,
but it should not (why would be increase backoff delay after that?).
Use the same handling of loop as used in SpinLock.
PiperOrigin-RevId: 220136079
--
a0a1c6ef5910ebd28e07215d7df03cc0da0b3eed by Abseil Team <absl-team@google.com>:
absl: relax unnecessarily strong memory ordering in SpinLock::SlowLock
We don't need to acquire visibility over anything when setting kSpinLockSleeper.
Replace the confusing and unnecessarily strong memory order with relaxed.
PiperOrigin-RevId: 220023380
--
c50858b51af28b9fca1a62616324f85f3e84ea74 by Tom Manshreck <shreck@google.com>:
Update comments in flat_hash_map, node_hash_{set, map} and the containers developer guide
PiperOrigin-RevId: 219938692
--
e87b7d1a5f61e165b1c44d3b16d8d967197cdfce by CJ Johnson <johnsoncj@google.com>:
Rearranges the public methods of InlinedVector and cleans up the comments
PiperOrigin-RevId: 219896257
--
f3234c466f792e0fc4bfd21fc7919dba5e679375 by CJ Johnson <johnsoncj@google.com>:
Adds branch prediction to exceptional early exit cases of inlined vector's API
PiperOrigin-RevId: 219887173
--
4dfccf1a81ca0425912d3da25a8470f78c532ce4 by CJ Johnson <johnsoncj@google.com>:
Fixes the InlinedVector public interface to use the allocator type references instead of assuming the type
Also cleans up some cruft in formatting and comments
PiperOrigin-RevId: 219878876
--
4bb6a2b892abb10bd6a424db7e94ed8640802470 by Tom Manshreck <shreck@google.com>:
Add comments on constructor and assignment operator support to flat_hash_set
PiperOrigin-RevId: 219825338
--
c23f973e2f7f4feea0da36bf8a9c3f8a8954bb74 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 219823847
GitOrigin-RevId: ee19e203eca970ff88e8f25ce4e19c32e143b988
Change-Id: I288c927ca481dc57340420dbb4c278a05cf15e83
--
4e224c85c3730398919fc5195cb1fc7a752e6e4f by Mark Barolak <mbar@google.com>:
Update some references to "StringPiece" to say "string_view" instead.
PiperOrigin-RevId: 219693697
--
6bdc925a3db5e97f1f8a404bdfda2e47e48f7b9a by Abseil Team <absl-team@google.com>:
Disable weak symbols for the Windows backend of LLVM, since they are currently buggy. See https://bugs.llvm.org/show_bug.cgi?id=37598 for more information.
PiperOrigin-RevId: 219676493
--
5823f495036181191f435efa4c45d60ca3160145 by Derek Mauro <dmauro@google.com>:
Don't use the SSE2 implementation of container_internal::Group
with -funsigned-char under GCC.
This is a workaround for https://github.com/abseil/abseil-cpp/issues/209.
_mm_cmpgt_epi8 is broken under GCC with -funsigned-char.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87853
PiperOrigin-RevId: 219666066
GitOrigin-RevId: 4e224c85c3730398919fc5195cb1fc7a752e6e4f
Change-Id: I2f115d0256576cf476ae73a9464c21d4106a2a56
--
ba4dd47492748bd630462eb68b7959037fc6a11a by Abseil Team <absl-team@google.com>:
Work around nvcc 9.0 compiler bug for open-source Tensorflow build.
With the current implementation, when I (unintentionally and transitively)
include absl/types/optional.h in a CUDA compilation unit, I get the following
nvcc error message:
INFO: From Compiling tensorflow/core/kernels/crop_and_resize_op_gpu.cu.cc:
external/com_google_absl/absl/types/optional.h: In member function 'void absl::optional_internal::optional_data_dtor_base<T, <anonymous> >::destruct()':
external/com_google_absl/absl/types/optional.h:185:50: error: '__T0' was not declared in this scope
data_.~T();
I've also seen similar compilation failures online, for flat_hash_map:
https://devtalk.nvidia.com/default/topic/1042599/nvcc-preprocessor-bug-causes-compilation-failure/
The bug is always around unnamed template parameters. Therefore, the workaround is to make them named.
PiperOrigin-RevId: 219208288
--
dad2f40cb2e8d5017660985ef6fb57f3c3cdcc80 by CJ Johnson <johnsoncj@google.com>:
Adds internal macros for catching and throwing unknown exception types
PiperOrigin-RevId: 219207362
--
0a9840328d2d86e8420b853435fdbf1f7a19d931 by Abseil Team <absl-team@google.com>:
Fix typo in mutex.h comments.
PiperOrigin-RevId: 219199397
--
0d576dc7597564210bfdf91518075064756f0bf4 by Matt Calabrese <calabrese@google.com>:
Internal change.
PiperOrigin-RevId: 219185475
--
66be156095571959fb19a76da8ad0b53ec37658e by Abseil Team <absl-team@google.com>:
Fix alignment conformance for VS 2017 >= 15.8 (fix#193)
PiperOrigin-RevId: 219129894
--
a6e1825a12587945f8194677ccfdcaba6f7aad1d by Abseil Team <absl-team@google.com>:
Reapply PR #173
PiperOrigin-RevId: 219129361
--
cf72ade4881b25acc6ccaea468f69793a0fdce32 by Abseil Team <absl-team@google.com>:
Update .gitignore
PiperOrigin-RevId: 219127495
--
0537490c6348a2cb489abe15638928ac5aa6982a by Jon Cohen <cohenjon@google.com>:
Small refactor and reformat of error messages from the exception safety test framework.
PiperOrigin-RevId: 218927773
--
4c556ca45fa25698ad12002a00c713aeceefab73 by CJ Johnson <johnsoncj@google.com>:
Updates the inlined vector swap tests to check for number of moves that took place if available
PiperOrigin-RevId: 218900777
--
dcbfda0021a1e6dfa9586986b1269c06ec394053 by Mark Barolak <mbar@google.com>:
Add parens around calls to std::numeric_limits<>::min and
std::numeric_limits<>::max to prevent compilation errors on Windows platforms
where min and max are defined as macros.
PiperOrigin-RevId: 218888700
GitOrigin-RevId: ba4dd47492748bd630462eb68b7959037fc6a11a
Change-Id: I0e393958eb8cb501b85f6114979f6d4d86ed996c
--
441d1aa02483cdc510eb2fef012b31384fd8e3a6 by Eric Fiselier <ericwf@google.com>:
Fix str_format with non-POSIX libc implementations.
PiperOrigin-RevId: 218441122
--
da6190130e74222af6eb161a5593364341370370 by Jon Cohen <cohenjon@google.com>:
Refactor ExceptionSafetyTester::Test in order to remove the levels of indirection related to unpacking tuples.
PiperOrigin-RevId: 218403355
GitOrigin-RevId: 441d1aa02483cdc510eb2fef012b31384fd8e3a6
Change-Id: I6f6b978eb96fe261e8ee41ecdce185e5356a601d
--
fe689b30f9a3a614e8a577997cc340043d01c2f1 by Abseil Team <absl-team@google.com>:
Change arm32 linux backtrace to use the generic implementation.
PiperOrigin-RevId: 218386158
--
86f8678d055d32edc989e6a4d1dc49c3a15cd350 by Abseil Team <absl-team@google.com>:
Update documentation on SHARED_LOCKS_REQUIRED and EXCLUSIVE_LOCKS_REQUIRED so that users know the differences between them.
PiperOrigin-RevId: 218365545
--
22947b48ce4a1ba71ad4794f762235dac3a1df12 by Greg Falcon <gfalcon@google.com>:
The from_chars implementation incorrectly assumed `uint32_t` was `unsigned int`.
`strings_internal::BigUnsigned` had `uint32_t` and `uint64_t` constructors; when both of these types differ from `unsigned int`, `BigUnsigned(1u)` is ambiguous (neither conversion is better).
Fix this by removing the `uint32_t` constructor. When the `uint64_t` constructor is called with a literal or type that is 32 bits or narrower, the compiler is smart enough to optimize away the two-word case, so this fix is free.
PiperOrigin-RevId: 218346935
--
7201ab430bb90ca0e30b102915d02564f61353eb by Abseil Team <absl-team@google.com>:
Fix formatting errors discovered during merge conflict.
PiperOrigin-RevId: 218229891
GitOrigin-RevId: fe689b30f9a3a614e8a577997cc340043d01c2f1
Change-Id: I5d382482ad227d48ffe57b243ce11b1eb44a1314
--
4e043a11b4c10a24e84046827ee16f47e11e35cc by Abseil Team <absl-team@google.com>:
Merge of https://github.com/abseil/abseil-cpp/pull/136
PiperOrigin-RevId: 218197648
--
e61f06e1e601061a443feaa8c5207c52437bd641 by Abseil Team <absl-team@google.com>:
Don't include <iostream> into int128, it's wasteful
Including iostream emits a global constructor for initializing std::cout and
friends, which isn't actually used by this file.
PiperOrigin-RevId: 218156386
--
8a6c82396e4c956be7f285328aec131cb4965f16 by Xiaoyi Zhang <zhangxy@google.com>:
Fix MSVC compiler warnings on discarding return values of functions with 'nodiscard'
attribute.
PiperOrigin-RevId: 217883401
--
abf3e3a0f22bc4070df9dbc9a4ef4d883ed686bf by Tom Manshreck <shreck@google.com>:
Update public README to add new libraries
PiperOrigin-RevId: 217879399
--
43b3b420a4e861711abbfbd497b8f2b3de17ec8c by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 217780963
--
1c8831947ca6a65a63842e6bd5f37a7c102a4e1b by Abseil Team <absl-team@google.com>:
Fix typo in a comment (missing comma in usage example).
PiperOrigin-RevId: 217776645
GitOrigin-RevId: 4e043a11b4c10a24e84046827ee16f47e11e35cc
Change-Id: I8999ae928da7a0030b4ecfd8d13da8522fdd013a
--
906c47420646d510edd2479d5542c56f5fa31b65 by CJ Johnson <johnsoncj@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 216573923
--
74560d4afd2b605909e677c6fc3076049fb3010a by Eric Fiselier <ericwf@google.com>:
Avoid -Wformat-pedantic in benchmark.
PiperOrigin-RevId: 216523769
--
9bcc9da8b03e6d1ea43ee78931256c5541cb9686 by Eric Fiselier <ericwf@google.com>:
Delete unused CityHash functions.
PiperOrigin-RevId: 216464492
--
a42563b394c89fbb4c55cb5a6a5edbf96d271eea by Abseil Team <absl-team@google.com>:
Introduce new Abseil interfaces for converting between civil
times and absolute times.s
Deprecates absl::ConvertDateTime() and absl::FromDateTime().
PiperOrigin-RevId: 216424948
--
088e11235124267517d7f137854fa5554679c24f by Eric Fiselier <ericwf@google.com>:
Remove unneeded break statements in test.
PiperOrigin-RevId: 216403321
GitOrigin-RevId: 906c47420646d510edd2479d5542c56f5fa31b65
Change-Id: Idb44420be623e369c66f5a9c92bdc9ab46d3ec92
--
714347c156cfe01575c1830a92bc6dea3030065b by Emma Christie <emmachristie@google.com>:
Release absl::EqualsIgnoreCase
PiperOrigin-RevId: 216243900
--
688106e2b9d2924799d597682690851cfba87818 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 216208373
--
53638e4da238b230af0e56dc31b9fb790e708f36 by Emma Christie <emmachristie@google.com>:
Update StartsWithIgnoreCase(), EndsWithIgnoreCase(), and EqualsIgnoreCase() headers to say that these functions only consider ASCII case inputs.
PiperOrigin-RevId: 215930962
GitOrigin-RevId: 714347c156cfe01575c1830a92bc6dea3030065b
Change-Id: I7fb3506234185b1a961e0110c1f8302ffe7228fa
--
eca34da4ccb7bb6a580f1364dff9ca053418fa3b by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 214305433
--
35393bdd21a87c4286f945fd34dda93afc4e0cd6 by Abseil Team <absl-team@google.com>:
Move some implementation details of string_view around to facilitate compiling on NVCC.
Abseil does not officially support NVCC as a reminder.
PiperOrigin-RevId: 214184876
--
61846cab9ab9476a4676ecade7173f68978cd038 by Jorg Brown <jorg@google.com>:
Move the initialization values for constants back to their declaration.
PiperOrigin-RevId: 214135927
--
7ac7df6c5f78f2faf419268c04618b936cb26065 by Abseil Team <absl-team@google.com>:
Performance improvements on format parser.
PiperOrigin-RevId: 214032366
--
90b4c0cf20e9feaa257a7ece40adaf7db40a60a7 by Xiaoyi Zhang <zhangxy@google.com>:
Add static_assert check to absl::visit to make sure all overloads of the visitor return the same type, as required by the C++ standard.
PiperOrigin-RevId: 213677001
--
787995342101b4c181291cde9ecea3048536e4bd by Abseil Team <absl-team@google.com>:
Update comment to indicate finite durations are less than InfiniteDuration.
PiperOrigin-RevId: 213660328
--
d78f0dce7cc31218807e96d93b9e8513b6c80b24 by Jon Cohen <cohenjon@google.com>:
s/invariant/contract in the exceptions safety testing framework. This is a better term as these can be type invariants or function post conditions. They also are very similar ground as to what is covered by c++20 Contracts (and could even be replaced by them.
PiperOrigin-RevId: 213631019
--
0b3ff1a640de9a7391a6c233568802cf86245b0e by Abseil Team <absl-team@google.com>:
Add noinline attribute for GetStackTrace/GetStackFrames/... so the skipped frames will not change because of inlining difference.
PiperOrigin-RevId: 213009637
GitOrigin-RevId: eca34da4ccb7bb6a580f1364dff9ca053418fa3b
Change-Id: Iff1022fd24e440fcbdf3c4ab2a915ca8954daa31
--
821196cfb2a3b943ffdc4c9e75daec92d7ffb28b by Abseil Team <absl-team@google.com>:
Performance improvements
PiperOrigin-RevId: 212668992
--
704858e2e767016bad27d53eec01d9d48e546b23 by Abseil Team <absl-team@google.com>:
Low-level Portability enchancements for Abseil Mutex on WebAssembly.
Emscripten Pthreads do not use signals, so remove use of pthread_sigmask or
other async-signal-safe related handling code.
PiperOrigin-RevId: 212527958
--
be3e38cb4d493b755132d20c8c2d1a51e45d5449 by Jon Cohen <cohenjon@google.com>:
Internal change.
PiperOrigin-RevId: 212523797
GitOrigin-RevId: 821196cfb2a3b943ffdc4c9e75daec92d7ffb28b
Change-Id: I5694e23e4e09364a15dd6fc4e2e3f15e38835687
--
74c1330e29f1501f2738258faf9ec4564395c90a by Gennadiy Civil <misterg@google.com>:
Merging https://github.com/abseil/abseil-cpp/pull/166
PiperOrigin-RevId: 212487256
--
4ac236574ff8fb3cc1125505292b0bd8c8192da9 by Abseil Team <absl-team@google.com>:
Allow c_move to take rvalue containers.
PiperOrigin-RevId: 212458618
--
ce94e23984870db666d4c91623ae45b3c60b5b61 by Matt Armstrong <marmstrong@google.com>:
Internal change.
PiperOrigin-RevId: 212153041
--
7d88d286821c5839934756dd63a704ed162c49cb by Chris Kennelly <ckennelly@google.com>:
Internal change
PiperOrigin-RevId: 211982309
--
ddae814b3f609948c20551ea3d80bf51b973f480 by Abseil Team <absl-team@google.com>:
Remove unused argument from InlinedVector's AllocatorAndTag
This is not part of InlinedVector's public interface.
PiperOrigin-RevId: 211973017
--
051fbfd81648a8da66c62c6603af63038d709c15 by Abseil Team <absl-team@google.com>:
Minor performance fix
PiperOrigin-RevId: 211820453
--
c205cb2add7400bc8caf2131cb700eea560b7dbf by Laramie Leavitt <lar@google.com>:
Make absl::Span a tiny bit more consistent.
Add constexper to equivalent absl::Span members as described by
http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0122r7.pdf
* Span constructor use consistently delegate to Span(ptr, length)
* Mark more member methods as constexpr.
* Use data() and size() consistently in member methods.
PiperOrigin-RevId: 211707244
--
55500c9e941f2f58f4a95c121f32772408866eee by Derek Mauro <dmauro@google.com>:
Stop catching polymorphic exception types by value.
GCC 8 emits a warning for this.
PiperOrigin-RevId: 211684466
GitOrigin-RevId: 74c1330e29f1501f2738258faf9ec4564395c90a
Change-Id: Iceab4a5b30ee35d82ef494830262ad29c028cb0a
--
86b1c997fac1f77b0eacfab788659b5a89a6096e by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 211654320
--
299b70e1247df768454a76eb957a184de9706f61 by Chris Kennelly <ckennelly@google.com>:
Avoid creating a misaligned reference to int.
PiperOrigin-RevId: 211505883
--
c8fad4357ad0bfb3c5ad197c505509bc087072c9 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 211458539
--
0613feffcd36466c3e53a50758d7e8f17c001dce by Greg Falcon <gfalcon@google.com>:
Refactor a string unit test into a template function for internal purposes.
PiperOrigin-RevId: 211100748
GitOrigin-RevId: 86b1c997fac1f77b0eacfab788659b5a89a6096e
Change-Id: Ic6a932b6c27c6762dcdb3b0127f1e2be782418c1
--
9c6654a316935ab097ccf462d506c02626373f0a by Tom Manshreck <shreck@google.com>:
Update comment on CUnescape() to note on failure it leaves its output param in an unspecified state.
PiperOrigin-RevId: 210956338
GitOrigin-RevId: 9c6654a316935ab097ccf462d506c02626373f0a
Change-Id: Icf0aea66afb413a0334df27960f75387087c6629
--
ed4be0cb9a708158187a0628c1c2167ae6783274 by Greg Falcon <gfalcon@google.com>:
Refactor a string unit test into a template function for internal purposes.
PiperOrigin-RevId: 210798880
--
e4c734be903ac7b3a88caf4b17909343c283a21a by Abseil Team <absl-team@google.com>:
Add a note that the RFC3339_* format specifiers use %Y, and so
do not produce 4-digit years on output nor require 4-digit years
on input, as a strict reading of RFC3339 might require.
PiperOrigin-RevId: 210785544
--
cfb5e32f9397e49ddb731445a191b36652fe2f6d by Greg Falcon <gfalcon@google.com>:
Refactor a string unit test into a template function for internal purposes.
PiperOrigin-RevId: 210776525
--
105ee700e62869cfda2a37e6f7c2ea483f8fc75e by Xiaoyi Zhang <zhangxy@google.com>:
Correctly define ABSL_HAVE_STD_STRING_VIEW for MSVC 2017. Currently the macro
is not defined even though MSVC 2017 provides `std::string_view`, and this
means both `absl::string_view` and `std::string_view` exist as distinct types.
A bunch of places relying on the false assumption that
`string_view::const_iterator` is `const char*` have to be fixed to build
successfully.
See related github issue https://github.com/abseil/abseil-cpp/issues/161.
PiperOrigin-RevId: 210764947
GitOrigin-RevId: ed4be0cb9a708158187a0628c1c2167ae6783274
Change-Id: I7a9658b3201aa669db9d3d90474feb08072718c7
--
2dcf3ec79f961d2962cdad33ac4bfbcb14126dad by Abseil Team <absl-team@google.com>:
Consolidate implementations of CountLeadingZeros and add new ones for
CountTrailingZeros.
Internal APIs only.
PiperOrigin-RevId: 209961247
--
4f3ac87c6928dab26faff962bb18aade9383f184 by Jorg Brown <jorg@google.com>:
Fix absl::CUnescape not to write to const_cast<char*>(str->data()), which does the wrong thing if the string type is copy-on-write
PiperOrigin-RevId: 209957656
--
c5103067be19dc88a4c32e5306154e5e3bba4673 by Tom Manshreck <shreck@google.com>:
Update comments in time library header files.
PiperOrigin-RevId: 209829588
--
fe36f9b6150243d2ac88e2a892d84c565c18cd2f by Abseil Team <absl-team@google.com>:
Clarifying the sample use of absl::LoadTimeZone function in the documentation.
PiperOrigin-RevId: 209782218
GitOrigin-RevId: 2dcf3ec79f961d2962cdad33ac4bfbcb14126dad
Change-Id: I3e2f87a8c543599b81eada58409a9bddc0b51ab8
--
f4bb8afa9376b4120f56f3beff7b07260da4a5c2 by CJ Johnson <johnsoncj@google.com>:
Add user to Github list
PiperOrigin-RevId: 209630262
GitOrigin-RevId: f4bb8afa9376b4120f56f3beff7b07260da4a5c2
Change-Id: I3fedf35011d805ee4a20b92e073b43523b47d15b
--
b01400905d2ba23ec9f4541153532eefcfb0d5f5 by Mark Barolak <mbar@google.com>:
Tweak the comment for WebSafeBase64Unescape to make it match the style of the other comments in escaping.h.
PiperOrigin-RevId: 209596034
--
dd35c55ee538ed458bb32494d87996d6624676df by Abseil Team <absl-team@google.com>:
Migrate FixedArray from allocator pointers to references. Also updates the name to be more generic as nothing about the implementation was specific to FixedArray's StorageElement*
PiperOrigin-RevId: 209438135
GitOrigin-RevId: b01400905d2ba23ec9f4541153532eefcfb0d5f5
Change-Id: I27304e4609708ec24fb19dce1e33215d7e4b5ae9
--
9850e5567db4ab7cf4928e68d1c6e232d9845fff by Abseil Team <absl-team@google.com>:
Add missing file parameter for FPrintF example.
PiperOrigin-RevId: 208238843
--
e3aa5daed78a2d38f0f19c20db93d6b9cca54041 by Abseil Team <absl-team@google.com>:
Internal cleanup.
PiperOrigin-RevId: 208216296
--
6ec960705441f7ae7383214160cf78244b0ac614 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 208111059
GitOrigin-RevId: 9850e5567db4ab7cf4928e68d1c6e232d9845fff
Change-Id: I3ceef9b66ffc8d434eb522f79479581975e780e6
--
7fb969986d7d5a1b30233a94ae7ea29e1abf8937 by Greg Falcon <gfalcon@google.com>:
Fix whitespace in str_join.h.
PiperOrigin-RevId: 208082852
--
85428003a8a29fbcd92c0b48708a69460eeb0e8f by Abseil Team <absl-team@google.com>:
Add missing back-ticks to the comments.
PiperOrigin-RevId: 207985417
--
0bbac248d5649ac1d7bc71ff1025a11332fb2026 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 207927484
--
f587324b99570b403b4626fb03fce16f0d950b05 by Abseil Team <absl-team@google.com>:
Update BaseCountedInstance to have comparison operators and allow them to be tracked by InstanceTracker.
PiperOrigin-RevId: 207919218
--
d7f410e4f15328412941f16e25ba3735d5bdfda6 by Derek Mauro <dmauro@google.com>:
Internal import of GitHub PR #153
Removed "warning treated as error" flag from MSVC
PiperOrigin-RevId: 207908806
--
59eefc78f8571ffc51cb636894015ce2580508d7 by Abseil Team <absl-team@google.com>:
Fix namespace references in examples from 'std::' to 'absl::'.
PiperOrigin-RevId: 207895230
--
151df17b6544222e29913b034a1296c0e14374d5 by Abseil Team <absl-team@google.com>:
Internal Change
PiperOrigin-RevId: 207894949
GitOrigin-RevId: 7fb969986d7d5a1b30233a94ae7ea29e1abf8937
Change-Id: I00097afbe9610ddb3f2330a2a86dcffde7bb6675
--
36d990031b4ae8e2debaccca63ff41829383a7d2 by Derek Mauro <dmauro@google.com>:
Rename FailureSignalHandler to AbslFailureSignalHandler so that we
don't confuse poor souls.
PiperOrigin-RevId: 207539530
--
0ced19ef8e0e0887f9809ffb88c5ef5f8746a6aa by Abseil Team <absl-team@google.com>:
Minor changes to support WebAssembly.
PiperOrigin-RevId: 207286743
GitOrigin-RevId: 36d990031b4ae8e2debaccca63ff41829383a7d2
Change-Id: I6b86713e96f5c32b595171594e456e38c898e601
--
ac7508120c60dfe689c40929e416b6a486f83ee3 by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 206912089
--
bd709faba88565367b6d337466e6456481b5f3e8 by Matt Calabrese <calabrese@google.com>:
Implement `std::experimental::is_detected` in type_traits internals and move `is_detected_convertible` from variant's internals to type_traits internals. This is in preparation of creating workarounds for broken standard traits.
PiperOrigin-RevId: 206825598
--
0dbddea569370eb9b6348cee172d1874f9046eb4 by Jorg Brown <jorg@google.com>:
Support users who turn on floating-point conversion warnings
PiperOrigin-RevId: 206813209
--
30991f757c8f0100584619d8a9c41897d029f112 by Jorg Brown <jorg@google.com>:
Speed up the absl::Seconds() function for floating-point values, roughly by 4.5x, since
we can take advantage of the fact that we're just taking a floating-point number and
splitting it into its integral and fractional parts.
PiperOrigin-RevId: 206806270
--
6883837176838aa5a517e7a8cb4c99afd24c0d12 by Jon Cohen <cohenjon@google.com>:
Remove the DISABLE_INSTALL from absl_container. It doesn't do anything.
PiperOrigin-RevId: 206802544
--
92ab14fed06e6dd1f01a0284bd7f95d3e2c0c3d8 by Jon Cohen <cohenjon@google.com>:
Internal change
PiperOrigin-RevId: 206776244
--
17b76c7f364ac562d9e0faeca0320f63aa3fdb85 by Jorg Brown <jorg@google.com>:
Fix absl/strings:numbers_test flakiness due to exceeding the 1-minute timeout
PiperOrigin-RevId: 206763175
--
6637843f2e198b8efd90e5577fbc86bdea43b2cc by Abseil Team <absl-team@google.com>:
Adds templated allocator to absl::FixedArray with corresponding tests
PiperOrigin-RevId: 206354178
--
bced22f81add828c9b4c60eb45554d36c22e2f96 by Abseil Team <absl-team@google.com>:
Adds templated allocator to absl::FixedArray with corresponding tests
PiperOrigin-RevId: 206347377
--
75be14a71d2d5e335812d5b7670120271fb5bd79 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 206326935
--
6929e43f4c7898b1f51e441911a19092a06fbf97 by Abseil Team <absl-team@google.com>:
Adds templated allocator to absl::FixedArray with corresponding tests
PiperOrigin-RevId: 206326368
--
55ae34b75ff029eb267f9519e577bab8a575b487 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 206233448
--
6950a8ccddf35d451eec2d02cd28a797c8b7cf6a by Matt Kulukundis <kfm@google.com>:
Internal change
PiperOrigin-RevId: 206035613
GitOrigin-RevId: ac7508120c60dfe689c40929e416b6a486f83ee3
Change-Id: I675605abbedab6b3ac9aa82195cbd059ff7c82b1
--
eb6cc81ef7e89e10fc9df47418af93e22fd116d2 by Abseil Team <absl-team@google.com>:
Workaround clang bug https://bugs.llvm.org/show_bug.cgi?id=38289
PiperOrigin-RevId: 206006290
--
509e9829295bfc429b82de42f2e073c756ea5709 by Jon Cohen <cohenjon@google.com>:
Remove make_unique ambiguity when using gcc 4.9 in C++14 mode.
gcc 4.9.4 has __cplusplus at 201300L instead of 201402L when in C++14 mode, I guess indicating incomplete support. Anyways, it causes a problem with this check as in c++14 mode in old gcc we were defining absl::make_unique when std::make_unique was present
PiperOrigin-RevId: 205886589
GitOrigin-RevId: eb6cc81ef7e89e10fc9df47418af93e22fd116d2
Change-Id: I9acf3f3d0fd3b0b46ae099821f3bf21b72c28b2b
--
298d93fcb860116111611a8ab0662b409734227a by Alex Strelnikov <strel@google.com>:
Release ascii_benchmark.
PiperOrigin-RevId: 205275981
--
73a01469e5862eefbe5ef9d434f45b7073476272 by Abseil Team <absl-team@google.com>:
Internal cleanup
PiperOrigin-RevId: 205236717
--
53d6338bf49dab95bd0fbb5bbcd56970c6b868c2 by Abseil Team <absl-team@google.com>:
Removes InlinedVector's dependency on bitwise operators for size_type
PiperOrigin-RevId: 205236134
GitOrigin-RevId: 298d93fcb860116111611a8ab0662b409734227a
Change-Id: I754f5eea889567add2dbbdea358a533f54a912dd
--
ffe43f972f956e3f9a8fb7b68993d243ba8f79fb by Abseil Team <absl-team@google.com>:
Replace usage of soon-to-be-deprecated http_archive rule with Skylark equivalent
https://github.com/abseil/abseil-cpp/pull/138
PiperOrigin-RevId: 204939972
--
24021d7aec96ed013333760fba590eba5a9ddf63 by Abseil Team <absl-team@google.com>:
Remove incorrect constraint that StrSplit only works on std::strings; rather, it works on anything string-like.
PiperOrigin-RevId: 204761431
--
ce61d3b0ac163caa1156817f3d1a997d9376a3f3 by Derek Mauro <dmauro@google.com>:
Support s390/s390x in examine_stack.cc (GitHub issue #135).
This is UNTESTED (no machine to test on).
PiperOrigin-RevId: 204756692
--
68ecab659a95d713c4342fe9e8008c4cdf6abfc1 by Derek Mauro <dmauro@google.com>:
Update WORKSPACE.bazel Gogole Test dependency, remove the unused RE2 dependency.
PiperOrigin-RevId: 204741814
--
891e185522f0934e3b48a75617be5fc859d75dbd by Derek Mauro <dmauro@google.com>:
Fix endian_test.cc on big endian platforms.
GitHub issue #135
PiperOrigin-RevId: 204738726
--
9becfa12fbb525cd97e5695b94677bd3ea3f61b0 by Abseil Team <absl-team@google.com>:
Improve error messages in absl::variant by splitting up the conditions in the valid type static_assert.
This makes it slightly easier to determine what type is causing issues.
PiperOrigin-RevId: 204508430
GitOrigin-RevId: ffe43f972f956e3f9a8fb7b68993d243ba8f79fb
Change-Id: Icc5e4e8cd1a4cea98dfbed794cd992b734812e1d
--
898e99cae89ca4cc27f86f719148f020d521dd58 by Abseil Team <absl-team@google.com>:
Update comment.
PiperOrigin-RevId: 204323401
--
b9d14db8b8a9dfb0e1cfb5967aaa0de1c4e94c42 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 204178059
--
f3b5a667611a588aa06fea9168e997ef5cffa7ac by Abseil Team <absl-team@google.com>:
Fix a potential reinterpret_cast compile error in absl::InlinedVector
The current code will trigger a reinterpret_cast error enhanced by llvm r336738.
PiperOrigin-RevId: 204131536
--
cc87d7a8302ad4471c1a25781d6ec19c2ce1524e by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 203979040
--
bc5cae3cfc72af1d3e786d5a3b59a47e205afec9 by Gennadiy Rozental <rogeeff@google.com>:
Internal: add internal logging hooks
PiperOrigin-RevId: 203850605
--
503655c248f557f677c920078613522b010e73c8 by Derek Mauro <dmauro@google.com>:
Cleanup stacktrace_config.h
Instead of listing the platforms that aren't supported, list the ones
we do support, and fallback to stacktrace_unimplemented-inl.inc at the
end. Previously any platform that wasn't listed gets "#error Not supported yet".
GitHub issue #135
PiperOrigin-RevId: 203823079
--
cb69925c4cacc14558cf103a09f218c37f466a16 by Abseil Team <absl-team@google.com>:
Fix a minor typo in absl::variant documentation.
PiperOrigin-RevId: 203679877
--
23a0e4db10039011fa5fd879fb73d2f2bbd17301 by Abseil Team <absl-team@google.com>:
Format .bzl files with buildifier
PiperOrigin-RevId: 203461813
--
1ad02616bdb715dfdc7f1a73313e383f4ededa03 by Abseil Team <absl-team@google.com>:
Make the absl::SleepFor() tests treat any successful retry within
a 48x deadline as a total success, thereby reducing flakiness.
PiperOrigin-RevId: 203401603
--
b3dccbbc6563ea0173527076a3fff21433d48f47 by Abseil Team <absl-team@google.com>:
Replace config_setting.values{"compiler"} with config_setting.flag_values{"@bazel_tools//tools/cpp:compiler"}
Due to changes in Bazel we need to change the way "compiler" is specified in config_setting. This will not change the behavior of the config_setting itself.
PiperOrigin-RevId: 203345693
--
170f1692537460a4ba1756d34852275899c2339b by Matt Armstrong <marmstrong@google.com>:
Address test flakiness in the TimeoutTest.
The basic idea is to loop forever until the expected
scheduling delays are observed (within reasonable bounds),
and only then assert the other invariants.
PiperOrigin-RevId: 203188162
GitOrigin-RevId: 898e99cae89ca4cc27f86f719148f020d521dd58
Change-Id: Ie853ec050afa3a04c519393afe666bc03e11dc87
--
6bab63b2bcdbd768743c2ebcc4a8e19af20c5406 by Abseil Team <absl-team@google.com>:
Reformats inlined_vector.h to match the current Google lint rules
PiperOrigin-RevId: 202154101
--
00cdeda6ea24591a9cb8ac8b3c2e2a042e1b15b1 by Gennadiy Rozental <rogeeff@google.com>:
Improve SplitterIsConvertibleTo implementation.
PiperOrigin-RevId: 202095009
--
7c24071afac45a17c47e819896f844a36e239bda by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 201991288
GitOrigin-RevId: 6bab63b2bcdbd768743c2ebcc4a8e19af20c5406
Change-Id: Ic5a988ab39e78247285411f36287cd34d6f5afd3
--
8becce38c862a044db194a9aea1b505796a46d6f by Abseil Team <absl-team@google.com>:
Updates the FixedArray's constructors to be exception safe by preventing double deletions. Also adds exception safety tests for FixedArray to document/enforce the expected behavior.
PiperOrigin-RevId: 201964431
--
794188b401a602b4be97190fb8738066fe1f9ca5 by Derek Mauro <dmauro@google.com>:
Fixes for str_format.h documentation.
PiperOrigin-RevId: 201951760
--
beae3bdd6eee2cf61101102fddc35ada188f330b by Alex Strelnikov <strel@google.com>:
Add numeric_limits specialization for uint128.
Turns out numeric_limits is a case where the consensus is that it is okay to specialize for a user defined type.
PiperOrigin-RevId: 201944736
--
b2b3444a52b36878ade1ae8801e69932b05fc4f9 by Shaindel Schwartz <shaindel@google.com>:
Internal change.
PiperOrigin-RevId: 201718662
--
aa924c459922f39caabfc193998c58d0f4981ac0 by Abseil Team <absl-team@google.com>:
Typo fix.
PiperOrigin-RevId: 201692176
--
bbfcaa7b1af331d9b97c92470608240c5c864fbc by Xiaoyi Zhang <zhangxy@google.com>:
Use ABSL_HAVE_ANY/OPTIONAL/VARIANT to conditionally compile out the definition of absl::bad_any_cast, absl::bad_optional_access, absl::bad_variant_access. This would fix the issues where users #include those header directly in C++17 modes.
PiperOrigin-RevId: 201683792
GitOrigin-RevId: 8becce38c862a044db194a9aea1b505796a46d6f
Change-Id: I60a7ad043136a439d82c374d225a1804016b0509