--
1609589925459c2c0b2a17912c0d65227f709db9 by Abseil Team <absl-team@google.com>:
Clarify the "Potential Mutex deadlock" reason message.
PiperOrigin-RevId: 351367862
--
88bf28863db2c2d2d48767c3e4dfab6a48bdff79 by Abseil Team <absl-team@google.com>:
Print CPU number is fault handler.
This CL adds code to print CPU number inside the fault handler. This is only supported on Linux. The CPU number is also a hint only. There is no guarantee that it is indeed the CPU on which a fault happened.
PiperOrigin-RevId: 351238373
--
66a9c8e44b5744fec1ca0d7b8db7e1d50772d9a2 by Samuel Benzaquen <sbenza@google.com>:
Add better error message for ODR violations of flags.
PiperOrigin-RevId: 351197423
--
6efd1efb341563148dd43255aaa4bf959dfd9554 by Chris Kennelly <ckennelly@google.com>:
Assume bitwise builtins are available on GCC.
These are long-standing builtins but are not consistently detected by
ABSL_HAVE_BUILTIN.
PiperOrigin-RevId: 350814036
GitOrigin-RevId: 1609589925459c2c0b2a17912c0d65227f709db9
Change-Id: Ied3fd2f135187f2c316b403fba45f3bbaea54138
--
e86453648e05d9bf30ff97a68fba8ce5134ee1c9 by Abseil Team <absl-team@google.com>:
Fix compilation in C with clang on windows with -Wundef flag
PiperOrigin-RevId: 350545275
GitOrigin-RevId: e86453648e05d9bf30ff97a68fba8ce5134ee1c9
Change-Id: I029538298ff894d5798b9c6f488af7aa1a3ec2a7
--
465461299a9814aca325fee599cefbfe462f12fe by Abseil Team <absl-team@google.com>:
Optimize trivially copyable flags with a sequence lock
PiperOrigin-RevId: 349602779
--
73f39f959e21121684a51887243abad0814a335e by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 349590869
--
6b3106fa66b8f075a39a1a8f3265ae132b7e2c84 by Abseil Team <absl-team@google.com>:
Remove ABSL_DLL from `log_prefix_hook` and `abort_hook`.
PiperOrigin-RevId: 349560499
--
bb0d295e699a509f3284145e025d00036b70dbb2 by Abseil Team <absl-team@google.com>:
Tiny docstring fix
A small edit to make "use of this is useful" a little less redundant. :)
PiperOrigin-RevId: 349445689
GitOrigin-RevId: 465461299a9814aca325fee599cefbfe462f12fe
Change-Id: I08cc4091b8b95b68188cb9168ac622dacc5fa688
--
7c15492a46380679651a4291bb284980901d04b1 by Andy Getzendanner <durandal@google.com>:
Add some internal hooks for ABSL_RAW_LOG and do a bit of tidying up.
PiperOrigin-RevId: 348836291
--
9a438cdcf2bd8d2b7ab27f4955432abf0d087672 by Evan Brown <ezb@google.com>:
Fix a bug affecting b-tree extract() when there are multiple keys in the container that are equivalent to the lookup key.
In that case, we are supposed to extract the first such key in the container - [reference](https://en.cppreference.com/w/cpp/container/multiset/extract), but we were extracting the first one we found (which was not necessarily the first in the container).
Also, optimize internal_lower_bound to not keep searching all the way to the leaf if it finds an equivalent key on an internal node and we can't have multiple equivalent keys for the lookup key.
PiperOrigin-RevId: 348822858
--
b5e34c3af3f52815dbca3c6858c26fa8f385a408 by Abseil Team <absl-team@google.com>:
Fix misleading comment.
Ignored object can be either deallocated or leaked.
PiperOrigin-RevId: 348705960
--
64fd9e8c0684bfe86f50161b0e0e9077bb96e05c by Christian Blichmann <cblichmann@google.com>:
Minor cleanups:
- Sorting using declarations
- Changing the format of a NOLINT statement
PiperOrigin-RevId: 348641845
GitOrigin-RevId: 7c15492a46380679651a4291bb284980901d04b1
Change-Id: Ia1ccd844586bd3dced2466651f1175d40caf3d7a
--
b95862447354428f62ae1627cf526e42ca0b7a9d by Christian Blichmann <cblichmann@google.com>:
Minor cleanups:
* Sorting using declarations
* Changing the format of a NOLINT statement
PiperOrigin-RevId: 348448885
--
954a4375fb09267e55dfda345605b9aca54998b0 by Abseil Team <absl-team@google.com>:
Enable some more Emscripten tests.
Requires setting -s PRINTF_LONG_DOUBLE=1 in a recent build.
PiperOrigin-RevId: 348043610
GitOrigin-RevId: b95862447354428f62ae1627cf526e42ca0b7a9d
Change-Id: I517c94a5fd0feb9b99823dc8552d28fa598723fe
--
0b13723ab1ca5231950c3ef76e57c415ce36d9d2 by Abseil Team <absl-team@google.com>:
Fix documentation typo
PiperOrigin-RevId: 348003868
--
2ad4875258ffd604b19f57d7cfbb9f9a093ff880 by Derek Mauro <dmauro@google.com>:
Add missing #include <assert.h>
Note: This file is sometimes used from C so we can't use <cassert>
PiperOrigin-RevId: 347931562
--
4d0c777a3645bddea9d0d6c49ec8ef3afea8c0b7 by Chris Kennelly <ckennelly@google.com>:
Use unsigned types for BitMask helper functions.
Additionally, explicitly perform narrowing cast. T will always have fewer than
2^32 bits.
PiperOrigin-RevId: 347913413
--
80c44b0b066485a25baff56d475b67be2ad027e7 by Abseil Team <absl-team@google.com>:
Stash errno for a larger scope.
Also adjust the test to account for EXPECT_* possibly modifying errno as well.
PiperOrigin-RevId: 347899763
GitOrigin-RevId: 0b13723ab1ca5231950c3ef76e57c415ce36d9d2
Change-Id: I9e7c0e5d45ac778644f3ad72d215378a8cf8a7d4
--
dab5caab05d89d03066ef92584660688595a3aaf by Mark Barolak <mbar@google.com>:
Add absl::Status and absl::StatusOr to absl/README.md
Import of https://github.com/abseil/abseil-cpp/pull/863
PiperOrigin-RevId: 347857368
--
1ca3c7a96417cd6e6d62f4dc36fd5ddaa61cfa20 by Chris Kennelly <ckennelly@google.com>:
Leverage integer power-of-2 functions and bit counting library in Abseil.
PiperOrigin-RevId: 347816486
--
e5cbe05879fd65dce7875e2e0105331a1615d89b by Chris Kennelly <ckennelly@google.com>:
Mitigate narrowing warning on MSVC.
If sizeof(x) <= sizeof(uint32_t), no truncation occurs when casting to
uint32_t, but the compiler cannot always determine this.
PiperOrigin-RevId: 347696526
--
079dff64cb175d282d9e22dfb4a522199ffdae2e by Benjamin Barenblat <bbaren@google.com>:
Avoid libgcc -NaN narrowing bug
When testing -NaN parsing, avoid narrowing -NaN from double to float.
This avoids a bug in libgcc
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98251).
PiperOrigin-RevId: 347654751
--
2e78a7634865aeef6765e1f447e96cf8d9985059 by Chris Kennelly <ckennelly@google.com>:
Mark popcount helpers as inline.
These are conditionally constexpr, so we need to add inline to cover the
non-constexpr builds to avoid ODR violations.
PiperOrigin-RevId: 347620138
--
437fbb363aea1654179f102dcdd607ec33c1af1e by Chris Kennelly <ckennelly@google.com>:
Use explicit narrowing cast.
This is never invoked in practice, but compilers with -Wimplicit-int-conversion
may trigger when sizeof(T) > sizeof(uint16_t) prior to determining this never
runs.
PiperOrigin-RevId: 347609857
GitOrigin-RevId: dab5caab05d89d03066ef92584660688595a3aaf
Change-Id: I6296ddffe7ec646f8ce121138f21e1e85a2cff4b
--
751781aa5b9e998f84a8a7e00789c80d3338730e by Abseil Team <absl-team@google.com>:
Fix attributes.h compilation with -Wundef flag in C
PiperOrigin-RevId: 347394915
--
66070a8166b0e1a61236b954d07fbb378f4f990b by Abseil Team <absl-team@google.com>:
Revert the usage of variant<> in Cord iterator and reader.
The introduction of the variant may lead to some missed compiler optimizations.
PiperOrigin-RevId: 347384869
GitOrigin-RevId: 751781aa5b9e998f84a8a7e00789c80d3338730e
Change-Id: Ibf1190d498a6f968f2ea9b89467ccfb5224dafa8
--
0bfa836596a9c787a2f0bdc283011dd1f6810c6e by Benjamin Barenblat <bbaren@google.com>:
Ignore missing CPU frequency on more architectures
Linux on MIPS, PA-RISC, RISC-V, and SystemZ doesn’t expose the nominal
CPU frequency via /sys, so don’t worry if `NominalCPUFrequency` returns
1.0 on those platforms.
Some POWER machines expose the CPU frequency; others do not. Since we
can’t predict which type of machine the tests will run on, simply
disable testing for `NominalCPUFrequency` on POWER.
PiperOrigin-RevId: 347079873
--
492b6834ed4a07cbc3abccd846f7e37d8c556ee5 by Benjamin Barenblat <bbaren@google.com>:
Use ABSL_HAVE_THREAD_LOCAL macro instead of copying code
Reduce code duplication by checking the ABSL_HAVE_THREAD_LOCAL macro
instead of copying code from base/config.h.
PiperOrigin-RevId: 347079561
--
8d656efce4da9cb032094377e58493d98427a536 by Abseil Team <absl-team@google.com>:
Rollback
PiperOrigin-RevId: 347078779
--
221bc69ec6dd7e2777ffcff6942584f979ef6382 by Abseil Team <absl-team@google.com>:
Add flag for 'shallow subcord' feature for experimental ring buffer rollout
There is a potential trade-off of CPU cost vs over-sharing cord data for subcord of large cords. This flag allows making subcords shallow for ringbuffers (with a potential larger waste of referenced source cords), which allows us to make subcord fast for this apps that do no persist (unmodified / plain copied) sub cords.
This change also introduces constants for the default settings, intended to keep the internal cord settings concistent with external flags.
PiperOrigin-RevId: 347053271
--
00a56c24293566734009f6bf2169a83fb37a35ba by Abseil Team <absl-team@google.com>:
Revert the usage of variant<> in Cord iterator and reader.
The introduction of the variant may lead to some missed compiler optimizations.
PiperOrigin-RevId: 347053041
--
c7b7b5ed7e3ab46b1e75b80f1a7de0bda26c8f70 by Chris Kennelly <ckennelly@google.com>:
Release library for integer power-of-2 functions and bit counting.
PiperOrigin-RevId: 347035065
--
5a035c0d9840b251967f9e7039fc6a4e01dd52f3 by Abseil Team <absl-team@google.com>:
Restructure Cord::ChunkIterator for future ring buffer support.
PiperOrigin-RevId: 346890054
GitOrigin-RevId: 0bfa836596a9c787a2f0bdc283011dd1f6810c6e
Change-Id: I3a58e2a44cb4c6f2116c43e2a4ccbc319d3ccecf
--
7b6a68aa92dcc7247236d1a1813914e035383bf8 by Abseil Team <absl-team@google.com>:
Use atomic exchange to mark completion in absl::once_flag
This prevents a potential for a missed wakeup if one thread marks
itself as a waiter while another thread is completing the invocation.
PiperOrigin-RevId: 344946791
--
ddff21d1dde08d1368d8be5fca81b154e78be2fc by Abseil Team <absl-team@google.com>:
Add missing string_view include. This is currently used transitively through the cord header.
PiperOrigin-RevId: 344845266
GitOrigin-RevId: 7b6a68aa92dcc7247236d1a1813914e035383bf8
Change-Id: Ia24e98a1df832fc4cb491d888fdf21182b5954f4
--
03700706d80f0939e2b5b8c02a326f045b643730 by Abseil Team <absl-team@google.com>:
Reduced latency and code-size of some InlinedVector methods:
1. Simpler fast path for push_back/emplace_back.
2. Do not inline slow path of push-back/emplace_back.
3. Simplify resize implementation.
Performance:
A simple benchmark that does the following per iteration:
```
push_back on an InlinedVector<int64>
push_back on an InlinedVector<bool>
```
Sees iteration time go from 4.3ns to 2.8ns and code size shrink from 1129 bytes to 175 bytes.
PiperOrigin-RevId: 343335635
--
16f74277a9e8bf228c164b053da8b8098f76de62 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 343332753
--
886b6d5d0244783d309e34f03c21710f411e3cb3 by Abseil Team <absl-team@google.com>:
Optimize `Status::Status`: When creating a status, we currently create an empty struct first, then assign fields. This is suboptimal: https://screenshot.googleplex.com/5HqDuFBKUEqrVgy.
Relevant Benchmarks:
```
BM_StatusCopyError_Deep/threads:1 26.9ns ±13% 21.2ns ±16% -21.46% (p=0.000 n=15+15)
BM_StatusCopyError_Deep/threads:2 32.0ns ±30% 25.6ns ±37% -20.17% (p=0.004 n=15+14)
BM_StatusCopyError_Deep/threads:4 37.4ns ±84% 30.6ns ±58% -18.26% (p=0.029 n=15+15)
BM_StatusCopyError_Deep/threads:8 47.2ns ±33% 33.5ns ±56% -28.91% (p=0.000 n=15+14)
```
PiperOrigin-RevId: 343303312
--
2f9d945654292e8e52cad410fa41dae794cff42c by Abseil Team <absl-team@google.com>:
Set SOVERSION for the installed libraries
PiperOrigin-RevId: 343287682
--
600bbfffe91cfbdc60b43cdad5619258298d0b0d by Abseil Team <absl-team@google.com>:
Fix a typo in a comment (than -> that)
PiperOrigin-RevId: 343187724
--
310c82cd97b3f1f0d1ee93a0ee2b0aee828b2a93 by Abseil Team <absl-team@google.com>:
Simplify unaligned memory access functions.
The #ifdef to produce calls to __sanitizer_unaligned_load16 etc were needed in past versions of this code, when we were lying to the compiler about the alignment of the loads/stores, by using a reinterpret_cast.
However, a year ago, absl switched to simply use memcpy. Sanitizers support this correctly by default, nothing extra is required.
PiperOrigin-RevId: 343159883
--
bdf6fcf99180c371fda6ba8af82fd44656e372fa by Gennadiy Rozental <rogeeff@google.com>:
Migrate usage flags to global variables instead of modeling them as Abseil Flags.
Also introduce new semantic for --help=substring command line argument.
PiperOrigin-RevId: 343019883
GitOrigin-RevId: 03700706d80f0939e2b5b8c02a326f045b643730
Change-Id: I4ad40dfa9606f8b8bfb2d91fd09e327105311bfb
--
76c5eb1cf346a1a64e0a5e2edf032546d600075a by Andy Getzendanner <durandal@google.com>:
Fix stacktrace on aarch64 architecture. Fixes#805
Import of https://github.com/abseil/abseil-cpp/pull/827
PiperOrigin-RevId: 340886173
--
28f48f7bcadd4681854cddb0a7736d26d7dab000 by Andy Getzendanner <durandal@google.com>:
Some attribute cleanups in and around statusor:
* mark statusor_internal::Helper::Crash ABSL_ATTRIBUTE_NORETURN
* add ABSL_INTERNAL_UNREACHABLE to ABSL_INTERNAL_LOG when severity is FATAL
* create ABSL_INTERNAL_UNREACHABLE to wrap __builtin_unreachable and __assume(0)
* use ABSL_ATTRIBUTE_NONNULL instead of __builtin_unreachable in statusor_internal::PlacementNew (https://godbolt.org/z/n691fa)
PiperOrigin-RevId: 340868438
--
33905d1d2d01eb6f81b04abaf24170bfebb6df09 by Andy Getzendanner <durandal@google.com>:
moved deleted functions to public for better compiler errors.
Import of https://github.com/abseil/abseil-cpp/pull/828
PiperOrigin-RevId: 340863976
--
5e502222dfc3f5a0ef146535a9e16c743b005092 by Jorg Brown <jorg@google.com>:
ConvertibleToStringView wastes a lot of cycles initializing members just to reset them immediately after. Only initialize the string storage when needed. This makes StrSplit() 0-30% faster depending on the use case.
PiperOrigin-RevId: 340732039
GitOrigin-RevId: 76c5eb1cf346a1a64e0a5e2edf032546d600075a
Change-Id: I2ba1f717c4eaad384cd0a22694fd05f9e6a2d8fa
--
dce086fa6e045bed433c664f95a6581b7ffb2d98 by Abseil Team <absl-team@google.com>:
fix spelling error "fulfil" -> "fulfill"
PiperOrigin-RevId: 339898016
--
10faa4546b69d8a07f949bc03dd9671231232ad0 by Abseil Team <absl-team@google.com>:
Clarify comments on variant::emplace
PiperOrigin-RevId: 339897241
--
0d02261a7a8b9c11e3a4e76dfedf4d95590e2419 by Derek Mauro <dmauro@google.com>:
Use thread_local for ThreadIdentity storage on Apple platforms
that support it
PiperOrigin-RevId: 339698124
GitOrigin-RevId: dce086fa6e045bed433c664f95a6581b7ffb2d98
Change-Id: I8c668b33c805fd5231ceb285652c80f312e5a33a
--
730bb88bee556aa11fa19aa33e1434cb6fa78985 by Evan Brown <ezb@google.com>:
Support missing allocator-related constructors in b-tree. See [reference](https://en.cppreference.com/w/cpp/container/set/set).
Also use allocator_traits::select_on_container_copy_construction() to get allocator for copy construction.
PiperOrigin-RevId: 339058322
--
b6cc121689ae3e452d1db2d66122cb198d25142b by Derek Mauro <dmauro@google.com>:
Fix more sign-compare warnings
PiperOrigin-RevId: 339057920
--
0e2c62da1dcaf6529abab952bdcc96c6de2d9506 by Abseil Team <absl-team@google.com>:
Add missing <limits> include
PiperOrigin-RevId: 339054753
--
d5a9ec2d1e40fe6359e720942e4955009ee415ec by Derek Mauro <dmauro@google.com>:
Stop disabling sign-compare warnings for non-test targets.
Our users complain about these.
This does not catch issues in header-only libraries (like btree.h)
but we may work on those in the future
PiperOrigin-RevId: 338967089
--
0c062c542a4c61ea0f65d25811827c0858e3adde by Abseil Team <absl-team@google.com>:
Improve cache-locality for ThreadIdentity and PerThreadSynch.
This is a change based on an observation in RPC benchmarks that shows
significant cycles being spent in waking up a thread, 99.8% of which
was on cache misses. Investigating this a bit more, it turns out to
be due to sharing the cache line with the waiter state.
To fix this issue, the following changes are introduced:
- Reorder fields in PerThreadSync so that it fits in a single cache line
The size of this structure was 80 bytes before this change.
Note: Manually inspected all booleans to make sure they are not modified by
multiple threads concurrently.
PiperOrigin-RevId: 338852058
--
a90d6f2b2346385017e32dd8ae1b5ca691a5863f by Derek Mauro <dmauro@google.com>:
Delete GCC 4.9 test script. It is no longer supported
PiperOrigin-RevId: 338779452
--
7274008d4757e88869110be9db39d03d911ae2b5 by Abseil Team <absl-team@google.com>:
Fix the usage example in which SetFlag should take a pointer.
PiperOrigin-RevId: 338744529
GitOrigin-RevId: 730bb88bee556aa11fa19aa33e1434cb6fa78985
Change-Id: Iff99594c4022e60e482a392d334b376c7ae8883e
--
498800727a35cd00c199e653c2a8e34dc3322b54 by Derek Mauro <dmauro@google.com>:
Fixes CMake dependency issues and adds `-Wl,--no-undefined` to avoid
these issues in the future.
Fixes#817
PiperOrigin-RevId: 337615527
--
a14b214a50a095d0c10c9d7a9e98ab1bd3b3976b by Samuel Benzaquen <sbenza@google.com>:
Minor compatibility fix for a version of gcc 5.5
PiperOrigin-RevId: 337561733
--
89a65c211e626bd30c046f79d0df9cc4a7d7c792 by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 337436891
--
d30c05c850ead352dad5ea0dc32942feb2942986 by Abseil Team <absl-team@google.com>:
Place STL exception functions underneath the ABSL_HAVE_EXCEPTIONS #ifdef.
The STL exception functions are not present in the Android NDK, so Abseil fails to build as part of ANGLE in AOSP. This CL places the various STL exception throwing functions inside #ifdef ABSL_HAVE_EXCEPTIONS blocks so they are removed during Android builds since neither ANGLE nor the NDK support exceptions by default.
PiperOrigin-RevId: 337142938
GitOrigin-RevId: 498800727a35cd00c199e653c2a8e34dc3322b54
Change-Id: I17b02daaea145d1a8fdbfd098f0fa99e65c86d2d
--
5bd06440e700fefd6eadd577d7d69c51f15c63e0 by Abseil Team <absl-team@google.com>:
Add if-guard to futex.h so that it doesn't fail to parse for unsupported platforms
PiperOrigin-RevId: 336880375
--
8b3d3bb4ad123fc9f648f0e397b2eddd88dc0c02 by Derek Mauro <dmauro@google.com>:
Fix race in AddressIsReadable file descriptors using stronger memory ordering
PiperOrigin-RevId: 336874423
--
1d8bf23747009cca29129b80c2793bc91443dd55 by Derek Mauro <dmauro@google.com>:
Avoid -Wundef warnings on ABSL_HAVE_THREAD_LOCAL
PiperOrigin-RevId: 336792406
--
562a480f029c600c1d3b1428da6a9b09e8952a74 by Derek Mauro <dmauro@google.com>:
Fix preprocessor condition for symbols __tsan_mutex_read_lock and
__tsan_mutex_try_lock
PiperOrigin-RevId: 336732571
GitOrigin-RevId: 5bd06440e700fefd6eadd577d7d69c51f15c63e0
Change-Id: Id9bb331baec74b9d80c7b228959a7739bc30e694
--
a5af5874c1c5cc02bd2a748d455321f82b6f2a93 by Andy Getzendanner <durandal@google.com>:
fix compile fails with asan and -Wredundant-decls
Import of https://github.com/abseil/abseil-cpp/pull/801
PiperOrigin-RevId: 336693223
--
ed9df42ab2b742386c6692c2bed015374c919d9c by Derek Mauro <dmauro@google.com>:
Fix integer conversion warning
Fixes#814
PiperOrigin-RevId: 336651814
--
0ab4c23884e72dce17b67c1eb520f9dbb802565d by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 336585378
--
eba0e3dccd52a6e91bcff84075bef0affc650b74 by Matt Kulukundis <kfm@google.com>:
Add bitset operations to Futex helper.
PiperOrigin-RevId: 336409368
--
8b0709a8b4500bf5f0af4b602d76a298d81645e8 by Abseil Team <absl-team@google.com>:
Fix code indentation in a comment.
PiperOrigin-RevId: 336368167
--
bc3961c87a7e7760c10319a5b0349c279f7ae3ad by Samuel Benzaquen <sbenza@google.com>:
Improve performance of the registry:
- Reduce contention
- Reduce memory usage for each flag by `6*sizeof(void*)`.
- Replace one immortal allocation per-flag with a single one for all the flags
- Slightly improve single-threaded performance by avoiding the std::map indirections.
PiperOrigin-RevId: 336365904
--
264ad9f28f935aad8b6b1437f8bf804fa9104346 by Abseil Team <absl-team@google.com>:
Fix typo in comment on absl::Condition.
PiperOrigin-RevId: 336311680
--
b5b808a8c75ca0df7b09eff9a423ec171d80f771 by Derek Mauro <dmauro@google.com>:
Add missing Apache license headers
PiperOrigin-RevId: 336294980
--
89446c3a4793df8b95060385cf3e219357c3db1d by Andy Soffer <asoffer@google.com>:
Internal changes
PiperOrigin-RevId: 336287465
--
57c8be4e294881bc79a6a44b8e4bf7ecbb19b9b9 by Matt Kulukundis <kfm@google.com>:
Extract Futex from an implementation detail of Wait to a private interface.
PiperOrigin-RevId: 336123209
GitOrigin-RevId: a5af5874c1c5cc02bd2a748d455321f82b6f2a93
Change-Id: Ie5a0ebe28e571814e3e11d4c05ca308523ccf311
If compile with asan, unaligned_access.h redeclares the same sanitizer
function with sanitizer/common_interface_defs.h.
This patch removes these declarations and includes sanitizer header
file to avoid this warning.
--
dad7313f7e8c36c35fc213ce5110100595f90990 by Andy Getzendanner <durandal@google.com>:
Fix log_severity.h header guard to match path.
PiperOrigin-RevId: 334439123
--
8a58aa0f4171219d38fb49a2e008e249f86de4cb by Abseil Team <absl-team@google.com>:
Minor comment cleanup
PiperOrigin-RevId: 334409054
--
a1bc324e53c358b874f99b3f5624658fff99453e by Evan Brown <ezb@google.com>:
Cleanup in btree.h:
- Combine internal_locate_impls and update comments.
- Avoid use of auto with SearchResult.
- Change one iterator reference to be stored by value (copy is cheap).
PiperOrigin-RevId: 334396951
GitOrigin-RevId: dad7313f7e8c36c35fc213ce5110100595f90990
Change-Id: I79862795abd3169587f5bafe0e5369bdde90c1e1
--
f50d25c8f8491ef7031cbbcad78edd15f98c2bd1 by Abseil Team <absl-team@google.com>:
Add myriad2 to HAVE_MMAP
Remove mutex_nonprod and associated defines.
PiperOrigin-RevId: 333759830
--
25ef4c577ea983aa3fcd6cfe2af6cdc62a06f520 by Samuel Benzaquen <sbenza@google.com>:
Internal refactor.
Represent the data with a union to allow for better constexpr support in the future.
PiperOrigin-RevId: 333756733
GitOrigin-RevId: f50d25c8f8491ef7031cbbcad78edd15f98c2bd1
Change-Id: Ieecd2c47cb20de638726eb3f9fc2e5682d05dcca
--
cfb567ed02096320663d882d2c0c2fb7db7af1e4 by Derek Mauro <dmauro@google.com>:
Upgrade to GCC 10.2.0, Bazel 3.5.0, and CMake 3.18.2
PiperOrigin-RevId: 330847323
--
5dcb9ce14d92315163079366a91c43cbd5184ea4 by Evan Brown <ezb@google.com>:
Optimize equal_range() by avoiding the call to upper_bound() when possible.
We need to support heterogeneous comparators that have different behavior when comparing key_type to non-key_type. See the new test.
Also update the comment for `key_compare_to_adapter`.
PiperOrigin-RevId: 330794444
--
744405dbda5513527d74094a5c3b9db1e0927693 by Gennadiy Rozental <rogeeff@google.com>:
Introduce trampoline for friend access to avoid friending routines and classes from different namespace.
PiperOrigin-RevId: 330773156
--
a195d1226576f8a7bb5671f3e42d1021b827fad9 by Abseil Team <absl-team@google.com>:
Fix an incorrect version number test for std::variant availability in tvOs.
PiperOrigin-RevId: 330759480
--
58b02eb9159a577953676d9928cb26b30068b847 by Derek Mauro <dmauro@google.com>:
Use c++20 instead of c++2a now that it is supported by GCC
PiperOrigin-RevId: 330559797
GitOrigin-RevId: cfb567ed02096320663d882d2c0c2fb7db7af1e4
Change-Id: I0e0d68409c95da42f5609920155ba5694ade8df0
--
9c9eb300c95024ea4242bbb4835595f555cb1eed by Derek Mauro <dmauro@google.com>:
Sync string_view comments from the internal copy
PiperOrigin-RevId: 328582796
--
c0bc4e77a46889430a1a40d836a5ff426a4a5bc9 by Xiaoyi Zhang <zhangxy@google.com>:
Make `absl::allocator_traits` an alias to `std::allocator_traits` for C++17 or
above. `std::allocator_traits` should have all its members since C++17 so we
don't need a backport.
PiperOrigin-RevId: 328258154
--
5599a3c0f2d865128057b5e267a397011cd032d0 by Derek Mauro <dmauro@google.com>:
Fix an #endif comment
Reported at https://groups.google.com/g/abseil-io/c/GRUdB0bBrG8/m/852HrgchCQAJ
PiperOrigin-RevId: 328247093
--
abd7e98088267f436e6c10779e574153ece015be by Abseil Team <absl-team@google.com>:
Don't call win32 APIs for UWP builds
symbolize.cc is including symbolize_win32.inc for all Windows builds,
including UWP builds. However, UWP doesn't have access to win32 APIs, so
it should instead include symbolize_unimplemented.inc.
This allows the necessary functions to still exist and be called, but
the win32 calls are not made.
This is part of the effort to enable Abseil in ANGLE:
https://anglebug.com/4873
PiperOrigin-RevId: 328226766
--
f622d3dfb804a6f427c1fd86ee69f47785b49483 by Greg Falcon <gfalcon@google.com>:
Remove incorrect claims of HASH_NAMESPACE support in Abseil hash.
The documentation presently claims that absl::Hash will look for legacy hashers (e.g, in the __gnu_cxx namespace) as controlled by the HASH_NAMESPACE preprocessor define, but this has never been true.
(Vestigial support for this appears in the form `ABSL_INTERNAL_LEGACY_HASH_NAMESPACE`, but this is not a supported extension point, as indicated by the use of `INTERNAL` in the name.)
PiperOrigin-RevId: 328154123
--
32b40a25efe1f7f7da98ce8faf3482c825464ed4 by Abseil Team <absl-team@google.com>:
Switch ABSL_INTERNAL_IGNORE_READS_ATTRIBUTE_ENABLED checks to defined().
PiperOrigin-RevId: 328151556
GitOrigin-RevId: 9c9eb300c95024ea4242bbb4835595f555cb1eed
Change-Id: Ib0686286f7889a976311e8cd2b35655765a8d033
--
9f746b79e16d36dba908ed9e2a586d890fe54acc by Derek Mauro <dmauro@google.com>:
Remove the Bazel mirror URL that we use in our WORKSPACE file
This doesn't appear to be supported. We use --distdir caching in our tests.
PiperOrigin-RevId: 327634738
--
e1f6f54830c415fc8bb8dc14483fae4cf9713d75 by Abseil Team <absl-team@google.com>:
Removing comments following license() rules as they are rarely useful, redundant with LICENSE files, and tend to fall out of date.
PiperOrigin-RevId: 327504063
--
b59c076638a57a74a3f8475f1dee8b536e32a15f by Gennadiy Rozental <rogeeff@google.com>:
Change GetAllFlags API to return a collection of mutable flag handles.
This will make this interface on par with FindCommandLineFlag and allow to call
CommandLineFlag::ParseFrom on the handle returned by GetAllFlags.
PiperOrigin-RevId: 327499084
--
bbf56b3c4a1d908d95e5a52aba38b1984151efff by Gennadiy Rozental <rogeeff@google.com>:
Make raw_hash_set compile when AllocTraits::propagate_on_container_swap is false.
PiperOrigin-RevId: 327371107
--
837f62c85ea65c1d6b847a75816198c625fe62ff by Abseil Team <absl-team@google.com>:
On macOS, `mem_alloc` is defined like this:
rpc/types.h:86:#define mem_alloc(bsize) calloc(1, bsize)
So if that file is included before container_memory.h, the variable mem_alloc
may never get defined. This is fixed by using a different name.
PiperOrigin-RevId: 327360224
--
aa8f5528382c0d01239ce75b645723aaf7e1ef46 by Gennadiy Rozental <rogeeff@google.com>:
Release of absl::GetAllFlags API.
PiperOrigin-RevId: 327275943
GitOrigin-RevId: 9f746b79e16d36dba908ed9e2a586d890fe54acc
Change-Id: I99c5c87dd1712bf8df9a52397b0c1e400a3c3447
--
c12db0cff0f0cb0c10731cdf4bf1663e99ecb82e by Samuel Benzaquen <sbenza@google.com>:
Fix incompatibility of retired flags and AddressSanitizer.
PiperOrigin-RevId: 325028944
--
20119dce82503c6ac22f3ec479d0eaea6acc7ba0 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 324939694
--
bb1ab1a4e1a551469ad110bdfce3210aeb9bf4b8 by Abseil Team <absl-team@google.com>:
Teach Abseil stack consumption utilities about AArch64.
PiperOrigin-RevId: 324935395
--
987043ffc960f38457478b01c04b47dfaf7ae006 by Evan Brown <ezb@google.com>:
Cleanup: simplify the slot transfer methods a bit.
PiperOrigin-RevId: 324834817
--
ed7081130d3ab93a2c3c916e30fe4367d8e96954 by Abseil Team <absl-team@google.com>:
Pass __FILE__ as const char* instead of as array of chars to internal_log_function
to allow deterministic symbols for AtomicHook wrapper of the InternalLogFunction
PiperOrigin-RevId: 324800499
GitOrigin-RevId: c12db0cff0f0cb0c10731cdf4bf1663e99ecb82e
Change-Id: Ibb92b1cab465e45abc86281f0fba894c82a662df
--
587e6db882749fa7faa12815e614afab04d218b9 by Derek Mauro <dmauro@google.com>:
Use attribute detection for other sanitizer related attributes
PiperOrigin-RevId: 324077073
--
3ee55e4935b4235516b1fcac3c55945e510f7afc by Evan Brown <ezb@google.com>:
Simplify CordRepExternal allocation/deallocation.
I think this can save some memory when `Releaser` is empty and when on platforms where alignof(CordRepExternal) < (default `::operator new` alignment).
We no longer need the API requirement that alignof(Releaser) <= (default `::operator new` alignment).
Also remove another static_assert from a TODO in cord_internal.h and fix some warnings about calling std::move on a forwarding reference.
PiperOrigin-RevId: 324053720
--
9fc78436565eb3b204d4aa425ee3773354392f45 by Derek Mauro <dmauro@google.com>:
Use auto-detected sanitizer attributes for ASAN, MSAN, and TSAN builds
PiperOrigin-RevId: 323831461
GitOrigin-RevId: 587e6db882749fa7faa12815e614afab04d218b9
Change-Id: Ie0e4a2846d7f66988a2d81a5e50721b62fdb3d6d
--
e1d2e93a3328d9e4362c5510e81bd15ddd0dcf00 by Derek Mauro <dmauro@google.com>:
ROLLBACK: Use auto-detected sanitizer attributes for ASAN, MSAN, and TSAN builds
PiperOrigin-RevId: 323612219
--
6fe0914715bcb680ac1dc533aae3461e2ca1ad50 by Derek Mauro <dmauro@google.com>:
Use auto-detected sanitizer attributes for ASAN, MSAN, and TSAN builds
PiperOrigin-RevId: 323597765
--
9ad74e277348585f06a511aac31fff917a89a5d7 by Mark Barolak <mbar@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 323594550
--
9e77ccb5adf7e9867cfa254105930f8fed19699d by Evan Brown <ezb@google.com>:
Remove an unnecessary nullptr check in Cord::PrependTree().
We already check for nullptr at all callsites.
PiperOrigin-RevId: 323583641
--
31ab2355c1b91e474b67ff88b8597ad99f346511 by Gennadiy Rozental <rogeeff@google.com>:
Avoid memory allocations while registering retired flags.
PiperOrigin-RevId: 323523011
--
33435e9b97b31763a80d3e41b5ab2459e862e99a by Jorg Brown <jorg@google.com>:
Allow ABSL_PREDICT_FALSE to be used with a type that's explicitly convertible to bool.
So far ABSL_PREDICT_TRUE could be used with these, but not ABSL_PREDICT_FALSE.
PiperOrigin-RevId: 323514860
GitOrigin-RevId: e1d2e93a3328d9e4362c5510e81bd15ddd0dcf00
Change-Id: Iee5b030d9aec1ae2c0fe8997763cee7bd84b4090
--
8726480d631a3736347f542dab5628d5e2ace3c1 by Mark Barolak <mbar@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 323414814
--
abc4a382a29fb857432e0e13a8c21ebe808f9828 by Abseil Team <absl-team@google.com>:
Fix buffer overflow when the result of demangling doesn't fit.
PiperOrigin-RevId: 323392968
--
7ed3e514519a971322d0a3333c7e85ed1f2a5f71 by Gennadiy Rozental <rogeeff@google.com>:
Move ABSL_DEPRECATED and ABSL_FALLTHROUGH_INTENDED from base.h into attribute.h.
PiperOrigin-RevId: 323137526
--
fc0afdb0792d565065d25feb9680972218355f90 by Xiaoyi Zhang <zhangxy@google.com>:
Add documentation for `absl::StatusCode`.
PiperOrigin-RevId: 323065623
GitOrigin-RevId: 8726480d631a3736347f542dab5628d5e2ace3c1
Change-Id: I9d39650e49ff265cd2dafee302013694e97c813f
--
873b52b0a691e759413c5db27dafc541a5da5263 by Andy Getzendanner <durandal@google.com>:
Introduce an internal-only thread-local caching wrapper around GetTID.
PiperOrigin-RevId: 323055682
--
091a4537f1ef6e158acbf4261cfae1af7a3bdb7f by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 322864497
--
c80ccfff2a825819f31826a30f48cca3297699f8 by Evan Brown <ezb@google.com>:
Roll forward b-tree changes simplifying deletion and getting rid of recursion in clear_and_delete().
We also change clear_and_delete() to avoid some unnecessary comparisons by restructuring the loops.
PiperOrigin-RevId: 322658938
--
81464c0fb9c8c6268dca2e530aba99e75e1e59ae by Gennadiy Rozental <rogeeff@google.com>:
Eliminate definition of RunningOnValgrind inside the library.
Fixes#674Fixes#657
PiperOrigin-RevId: 322508440
GitOrigin-RevId: 873b52b0a691e759413c5db27dafc541a5da5263
Change-Id: I20b40c9e8fc62edcf981caab467cca33cf6fd2ba
--
dcd4d95f6201dc5781a3a374be8eb10c812fd98a by Derek Mauro <dmauro@google.com>:
Add -Wundef to GCC warnings
PiperOrigin-RevId: 322388155
--
b030746368262aff6bc487f5525bcd9b32d18ebb by Abseil Team <absl-team@google.com>:
Google internal clean-up.
PiperOrigin-RevId: 322381901
--
18e4cfcd50730c493cfc0cf1e127e57c186ce90b by Evan Brown <ezb@google.com>:
Rollback b-tree erase simplification change.
PiperOrigin-RevId: 322368252
--
d15431c52fa7ccb25ffbd967fd11f8f58246d48a by Abseil Team <absl-team@google.com>:
Update MOCK_METHOD (new format) in memory/memory_test.cc
PiperOrigin-RevId: 322208282
GitOrigin-RevId: dcd4d95f6201dc5781a3a374be8eb10c812fd98a
Change-Id: I3a900b4993f86bdd1c9597819c7a0e6e1759eda3
--
d2b7a83bafb90d35b2b7d8eb4177e9d712e8d62c by Gennadiy Rozental <rogeeff@google.com>:
Introduce ABSL specific macros for detecting the usage of sanitizers.
PiperOrigin-RevId: 321687443
--
a41342cc04b1088087dda12d7272aa3835f8e36a by Evan Brown <ezb@google.com>:
Get rid of recursion in clear_and_delete().
PiperOrigin-RevId: 321583786
--
99c6d300b17f186c28867b08cc79f1e55077e88a by Evan Brown <ezb@google.com>:
Code simplification: consolidate methods to erase values/nodes.
Motivation: this will make floating storage work simpler.
- Delete erase_same_node/erase_from_leaf_node/remove_value/remove_values_ignore_children.
- Move node deletion methods inside btree_node.
- Delete three-argument move() and use transfer_n() instead.
- Note: there's still one usage of move (in btree::erase(iterator)) that could use transfer, but I think doing so would add more complexity than it's worth.
PiperOrigin-RevId: 321407673
--
c3efed6c1763190c6b3bccbede9b2989ab21b258 by Evan Brown <ezb@google.com>:
Support heterogeneous insert_or_assign, try_emplace, operator[] for btree_map.
Also do a bit of cleanup:
- Add _impl methods for insert_or_assign/try_emplace.
- Rename some hint iterator params from `position` to `hint`.
PiperOrigin-RevId: 321399557
GitOrigin-RevId: d2b7a83bafb90d35b2b7d8eb4177e9d712e8d62c
Change-Id: Ie2d0c7c3ed197c2b53d475248941392cbad20e59
--
4fc38390e66394e51ef4637ca0778f929017b4c8 by Gennadiy Rozental <rogeeff@google.com>:
Internal Change
PiperOrigin-RevId: 321020681
--
880d1c1cb7590e7265e21afe32edde473ef830d4 by Derek Mauro <dmauro@google.com>:
Decrease number of threads in thread_identity_test to hopefully
prevent test timeouts
PiperOrigin-RevId: 321019403
GitOrigin-RevId: 4fc38390e66394e51ef4637ca0778f929017b4c8
Change-Id: Id8175bae6e490277d663d76fff9c06353b8c7f05
--
69b3ab092ee0fef3d27f589e709280c341f006c6 by Greg Falcon <gfalcon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 321005878
--
3a4038cd0cea6455453a7ae82f2de7e91d7e2bc1 by Abseil Team <absl-team@google.com>:
Google-internal changes only.
PiperOrigin-RevId: 320994821
--
f9d9a93782924df6ffc351a271c239ca4bdff3c8 by Derek Mauro <dmauro@google.com>:
Update Linux latest toolchains, most notably to GCC 10.1
This create a new "hybrid" docker image that includes the latest
versions of both GCC and LLVM. Since the LLVM build targets Debian 10,
but Debian 10 uses an older version of libstdc++ that doesn't have
full C++20 support, the easiest solution is to use the GCC/Debian 10
base image from DockerHub and copy LLVM into it.
This also includes fixes to get the build working with the
new toolchains.
PiperOrigin-RevId: 320991795
--
43129cd66dc4439b36d85030800a3929f20d9f86 by Abseil Team <absl-team@google.com>:
Rollback import of CCTZ from GitHub (breaks MSAN tests)
- e87b391f0d10ae9c3d2e70e4a3633337d2c5e643 handle "slim" TZif files in TimeZoneInfo::ExtendTransitio... by Bradley White <14679271+devbww@users.noreply.github.com>
PiperOrigin-RevId: 320978767
--
2a343a55f297d433c1521920f0bd20ddd2dc71e8 by Derek Mauro <dmauro@google.com>:
Use ABSL_HAVE_ATTRIBUTE in thread_annotations.h
PiperOrigin-RevId: 320956378
--
f6f3e8333c9ef6e6441586be6587bbfb1c8c8127 by Gennadiy Rozental <rogeeff@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 320952592
--
3cc2bcce3533ac1233c0536232b07eea45fe8ed0 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 320862698
--
4e22066476744609e42c475b55e3cbd874f04c39 by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 320461277
GitOrigin-RevId: 69b3ab092ee0fef3d27f589e709280c341f006c6
Change-Id: I36f547711e7078d52f2e0a1ff3f4c903056a2b9e
--
510cd0bc2ff9cf21e1e960264d179fa333a88612 by Derek Mauro <dmauro@google.com>:
Removes the static initializer for VDSOSupport as requested by Chromium.
The call is moved to InitializeSymbolizer().
PiperOrigin-RevId: 319275021
--
0c91944889ad2bd10bc8080f4cd8083ca1d5de46 by Derek Mauro <dmauro@google.com>:
Check for the lock_returned attribute before using it
PiperOrigin-RevId: 319273193
--
1001fa71bfb850f00502777f787aeff6e80654ca by Derek Mauro <dmauro@google.com>:
Remove a no longer relevant MSVC code guard
PiperOrigin-RevId: 319266085
--
a80caee79eb3f377c6bf97bec6b692c55169fe53 by Abseil Team <absl-team@google.com>:
Bug fix to StrFormat %a rounding behavior for `long double`.
PiperOrigin-RevId: 319238900
--
fdec318c449f1ca586145397099b03d973b738c4 by Abseil Team <absl-team@google.com>:
Add test cases for absl::Time +/- absl::InfiniteDuration() ==
absl::Infinite{Future|Past}.
PiperOrigin-RevId: 319223053
GitOrigin-RevId: 510cd0bc2ff9cf21e1e960264d179fa333a88612
Change-Id: I4b8932fb0ec6ab9c868450faf4ed837092a7c0c0
--
739f9fb80212c21c015fec473e9e29803a156ef9 by Derek Mauro <dmauro@google.com>:
Define FlagStateInterface::~FlagStateInterface() in the translation
unit in which it is actually declared
Fixes#717
PiperOrigin-RevId: 319083605
--
913ef1f23113268b22d636d3ae3b992862efdb1a by Derek Mauro <dmauro@google.com>:
Fix ABSL_LOCK_RETURNED statement
PiperOrigin-RevId: 319078667
--
a43b1413da1770d638147c73e7e1693cfaf869c7 by Derek Mauro <dmauro@google.com>:
Fix redeclaration ‘absl::Cord::InlineRep::kMaxInline’, which differs in ‘constexpr’
Fixes#725
PiperOrigin-RevId: 319060910
--
1ad7d491a80f6c9de78a6fc20f09b7765d224503 by Abseil Team <absl-team@google.com>:
Make absl SpinLock trivially destructible when possible
PiperOrigin-RevId: 319049456
--
659ecad3578dfa669854a82279fa590002bdb37f by Derek Mauro <dmauro@google.com>:
Remove the static initialization of global variables used by absl::Mutex
as requested by Chromium
PiperOrigin-RevId: 319031204
--
609c491d8bb4f8bb3b44c5a4c0bee51c583df24c by Abseil Team <absl-team@google.com>:
Add implementation of %a and %A to absl::StrFormat.
Prior to this it just fell back to sprintf.
PiperOrigin-RevId: 318888039
--
5e8ae6392bcd135248aac14c4b9f2a5116868678 by Abseil Team <absl-team@google.com>:
Google-internal changes only.
PiperOrigin-RevId: 318857077
--
4a2578e33e8442954e29e5f0380ddfcf0f033f0d by Greg Falcon <gfalcon@google.com>:
Change of enum constants to accommodate internal change.
PiperOrigin-RevId: 318844716
--
4b578b102816260c213675759f4c15911735578a by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 318704453
--
0ee82fd24d548b260c9229fa1f54571dae1dfa24 by Gennadiy Rozental <rogeeff@google.com>:
Allow lookup of retired flags.
At the moment we issue warning on attempt to find a retired flag. This way we can't even check if flag is retired without issuing the warning.
With this change we will only issue the warning if one tries to access any functionality of retired flag but it's name "is retired" status, and type.
PiperOrigin-RevId: 318605017
--
3e35fe9b4c79f636fa328c59e2aabb93e29b7c99 by Abseil Team <absl-team@google.com>:
Fix error return from InstallSymbolDecorator().
PiperOrigin-RevId: 318490405
--
ae46063f3eb2998cb961f62a359d932e5908a4bc by Abseil Team <absl-team@google.com>:
Do not make copies of iterated collection elements into the loop variable.
PiperOrigin-RevId: 318423139
--
d06a075a12aab5f6ab98474677ce50d588b21de3 by Abseil Team <absl-team@google.com>:
add missing word making the error code better English
PiperOrigin-RevId: 318335052
GitOrigin-RevId: 739f9fb80212c21c015fec473e9e29803a156ef9
Change-Id: Id77a0a4b1959036b00555deef40e82d51884fbc1
--
517dc7eba9878290fc93c6523dc6d6e2c49b8c1e by Abseil Team <absl-team@google.com>:
Handle 'nan' in HumanReadableInt::ToInt64.
PiperOrigin-RevId: 318121226
--
4fa6103b46dbc1375d416810dba591ab4f4898d1 by Abseil Team <absl-team@google.com>:
Promote `float`s to `double`s before formatting.
This will bring StrFormat behavior more in line with that of sprintf.
PiperOrigin-RevId: 318091841
--
e4083a4b64b077d8520ccd8e0ca90da24f4ea24d by Abseil Team <absl-team@google.com>:
Google-internal changes only.
PiperOrigin-RevId: 318069900
--
ab24f60127db089bccaf5fb7d2d1967c76f34768 by Greg Falcon <gfalcon@google.com>:
Inclusive language fix: Stop using blacklist/whitelist terminology in Abseil.
PiperOrigin-RevId: 317925379
--
52b56a27a773ea7c10ea8fd456ed606b9d778947 by Abseil Team <absl-team@google.com>:
Add test for floats and label tests for double properly.
PiperOrigin-RevId: 317916380
--
0f405960ab5b34d673244fda8bb9141c8f5c1a4f by Abseil Team <absl-team@google.com>:
Remove the static initialization of global variables used by absl::Mutex
as requested by Chromium
PiperOrigin-RevId: 317911430
--
ce8cb49d8f4f68950fd111682657ba57d5a09ca0 by Abseil Team <absl-team@google.com>:
Internal Change
PiperOrigin-RevId: 317864956
--
a781948e09fb8406d21a494b2fa4f78edaf9c2ea by Abseil Team <absl-team@google.com>:
Swap ABSL_DLL / ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES order to fix clang-cl builds.
PiperOrigin-RevId: 317858053
--
4ba197f0dd2cbf8f9b96cebffd878c8847d6ce8d by Gennadiy Rozental <rogeeff@google.com>:
Migrate use of annotation macros to ABSL namespaced names
PiperOrigin-RevId: 317792057
GitOrigin-RevId: 517dc7eba9878290fc93c6523dc6d6e2c49b8c1e
Change-Id: I1a0c04d01adbdc5106b68fd69c97c31f822e11dc
--
b548087c24ae7c2c709e8040a118b5e312d18e2e by Derek Mauro <dmauro@google.com>:
Remove the static initialization of global variables used by absl::Mutex
as requested by Chromium
PiperOrigin-RevId: 317676541
--
f198f5da1e966772efa978ba019bd23576899794 by Greg Miller <jgm@google.com>:
fix: work around gcc-4.8 bug in disjunction
See https://godbolt.org/z/i7-AmM for a repro of the bug.
I realize that Abseil no longer supports gcc 4.8 officially
(https://abseil.io/docs/cpp/platforms/platforms), but Cloud C++ still supports
gcc 4.8 officially, and so it would be nice to get this simple fix in.
fixes https://github.com/abseil/abseil-cpp/issues/718
PiperOrigin-RevId: 317484459
--
ed233f646530c6c0948213b643cc6919db1bee90 by Chris Kennelly <ckennelly@google.com>:
Avoid determining the size of the duration unit at runtime.
PiperOrigin-RevId: 317376300
--
73d4011c17fcf747a990176924a7adc69d443533 by Greg Falcon <gfalcon@google.com>:
Change spelling of internal detail from `Invoke`/`InvokeT` to `invoke`/`invoke_result_t`.
This matches the spelling of the C++17 standard library names that perform the same operations.
PiperOrigin-RevId: 317311527
GitOrigin-RevId: b548087c24ae7c2c709e8040a118b5e312d18e2e
Change-Id: I131809ff0b92cfdb0d96dc94e94d9c6f751cb0ac
--
05b0b9aaed03199b0041988f3aa31c6257e05712 by Chris Kennelly <ckennelly@google.com>:
Accept absl::string_view for internal ForEachSection parameter.
PiperOrigin-RevId: 316694540
--
d14d61f1d017e967923bbffaf12b45c4e6b40d36 by Abseil Team <absl-team@google.com>:
Allow ABSL_PREDICT_FALSE to be used with a type that's explicitly convertible to bool.
So far ABSL_PREDICT_TRUE could be used with these, but not ABSL_PREDICT_FALSE.
PiperOrigin-RevId: 316684594
--
16a8f5e183688b2bd5069f9d3a2c5f2a978d1eaa by Abseil Team <absl-team@google.com>:
Allow ABSL_PREDICT_FALSE to be used with a type that's explicitly convertible to bool.
So far ABSL_PREDICT_TRUE could be used with these, but not ABSL_PREDICT_FALSE.
PiperOrigin-RevId: 316634388
--
1ecfa42a400a5ea9435110e6a5416a46414bb6fb by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 316547270
--
ee915dffdf18818b30107b79c82792d6ca7fc691 by Andy Getzendanner <durandal@google.com>:
Remove a copy-pasted comment and add a missing cmake dep.
PiperOrigin-RevId: 316541265
--
26c74c5a61269afe37cd459c9a508ddd0a47f8f3 by Gennadiy Rozental <rogeeff@google.com>:
Make absl/flag/reflection target publicly visible.
PiperOrigin-RevId: 316523446
GitOrigin-RevId: 05b0b9aaed03199b0041988f3aa31c6257e05712
Change-Id: I0aaa8b0b81c2a79fbc42d116c105512176010b25
--
ede5d8e8877c81d7e69549e05076f62cb334ef7f by Abseil Team <absl-team@google.com>:
Optimize 128 bit division in absl::uint128 when the intrinsic does not exist
PiperOrigin-RevId: 316413322
--
5dd02300b5a5700f41e4034b15a1c8c9e7349673 by Abseil Team <absl-team@google.com>:
Add additional 128 bit division benchmarks.
PiperOrigin-RevId: 316358648
--
b7ee6e33b5076b7b6817b728f268d9e58b00b123 by Abseil Team <absl-team@google.com>:
Add tests for ABSL_PREDICT_TRUE and ABSL_PREDICT_FALSE macros.
PiperOrigin-RevId: 316325593
--
3d7fe4ab8bc1e736b9697098eeb2cdb7e9910105 by Andy Soffer <asoffer@google.com>:
Removing unnecessary comment using hurtful words.
PiperOrigin-RevId: 316192184
GitOrigin-RevId: ede5d8e8877c81d7e69549e05076f62cb334ef7f
Change-Id: I4e447286d0b823d99cdd658dd49fb66725bb7a30
--
e21e960918678629abf89ad1b694b7d4a456b434 by Greg Falcon <gfalcon@google.com>:
Roll back invoke() change due to large increases in compiler memory usage.
PiperOrigin-RevId: 315919455
--
f95872e1e1d7afdefbac94f42ea228d42d80eb6e by Greg Falcon <gfalcon@google.com>:
Rollback of invoke() changes due to compiler memory usage growth
PiperOrigin-RevId: 315911585
--
6c6c6ba6892016a2ce4703042800254fb9b15727 by Laramie Leavitt <lar@google.com>:
Move some of the common mocking code into MockHelpers.
Use MockHelpers to do mock signature detection and improve the dispatch mechansim.
PiperOrigin-RevId: 315825988
--
5e9380367d280c7fa6dbd4d0f48c31ade7f1d419 by Greg Falcon <gfalcon@google.com>:
Rename the internal implementation details Invoke and InvokeT to `invoke` and `invoke_result_t`, since these are re-implementations of C++17 library entites of the same names.
PiperOrigin-RevId: 315790467
GitOrigin-RevId: e21e960918678629abf89ad1b694b7d4a456b434
Change-Id: Ia75011f94cb033c1c9a4cb64cf14d283b91426ac
--
44b312da54263fc7491b5f1e115e49e0c1e2dc10 by Greg Falcon <gfalcon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 315782632
--
27618a3b195f75384ba44e9712ae0b0b7d85937e by Greg Falcon <gfalcon@google.com>:
Update Abseil's internal Invoke() implementation to follow C++17 semantics.
Starting in C++17, when invoke'ing a pointer-to-member, if the object representing the class is a reference_wrapper, that wrapper is unpacked. Because we implement a number of functional APIs that closely match C++ standard proposals, it is better if we follow the standard's notion of what "invoking" means.
This also makes `absl::base_internal::Invoke()` match `std::invoke()` in C++17. I intend to make this an alias in a follow-up CL.
PiperOrigin-RevId: 315750659
--
059519ea402cd55b1b716403bb680504c6ff5808 by Xiaoyi Zhang <zhangxy@google.com>:
Internal change
PiperOrigin-RevId: 315597064
--
5e2042c8520576b2508e2bfb1020a97c7db591da by Titus Winters <titus@google.com>:
Update notes on the delta between absl::Span vs. std::span.
PiperOrigin-RevId: 315518942
--
9d3875527b93124f5de5d6a1d575c42199fbf323 by Abseil Team <absl-team@google.com>:
Internal cleanup
PiperOrigin-RevId: 315497633
GitOrigin-RevId: 44b312da54263fc7491b5f1e115e49e0c1e2dc10
Change-Id: I24573f317c8388bd693c0fdab395a7dd419b33b0
--
baf626d27ff1547776745f3b601cc42f703d4bdf by Greg Falcon <gfalcon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 315486679
--
39d4e7f9214c5a74e4ee4b8a7f4af26479925029 by Gennadiy Rozental <rogeeff@google.com>:
Avoid order dependant test cases.
PiperOrigin-RevId: 315327948
--
8feb187703a28bb0c5cfc5dd6091e3faa90a8e61 by Gennadiy Rozental <rogeeff@google.com>:
Avoid order dependant test cases.
PiperOrigin-RevId: 315317018
--
cffd8fddad15908ec9de7f21f65b20528972e3fa by Gennadiy Rozental <rogeeff@google.com>:
Avoid order dependant test cases.
PiperOrigin-RevId: 315311587
--
48997a0ceb231b75c14eb4b1eb3b66af69e49f42 by Tom Manshreck <shreck@google.com>:
Nit: remove extra "the"
PiperOrigin-RevId: 314959763
--
9516f44a4b5d3055427c95e80c8c04a6321e4221 by Gennadiy Rozental <rogeeff@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 314925147
--
4f8691d74a4eb42ed03ef29c9588a01b78829941 by Abseil Team <absl-team@google.com>:
Uninclude util/bits/bits.h
PiperOrigin-RevId: 314858384
--
02b42a8ec5e5561b29b4e5f93cc1482c3c72ef2d by Abseil Team <absl-team@google.com>:
Google-internal changes only.
PiperOrigin-RevId: 314855667
--
146013d69dabafbe2030e23ced7b741d9e8d417c by Gennadiy Rozental <rogeeff@google.com>:
Uninclude util/bits/bits.h
PiperOrigin-RevId: 314838927
GitOrigin-RevId: baf626d27ff1547776745f3b601cc42f703d4bdf
Change-Id: I2602286fb13cf35a88bdd80fe0b44974d4388d46
--
5b9d5ce21074c0541432555d383d1b9c5898b553 by Gennadiy Rozental <rogeeff@google.com>:
Convert FlagSaver into public API
PiperOrigin-RevId: 314799739
--
5f796c9862b1177f161f4b10fe1a84698ebbb5cf by Abseil Team <absl-team@google.com>:
Google-internal changes only.
PiperOrigin-RevId: 314786474
--
67f2ae0ac5ae73bcd9d57a058ac4fea8fc1243ba by Gennadiy Rozental <rogeeff@google.com>:
Makes sure stacktrace_generic is only used with glibc.
Fixes#701
PiperOrigin-RevId: 314726944
--
efb1ef3636b0698b79d3ee3590f12c4dff32a3cb by Samuel Benzaquen <sbenza@google.com>:
Take the bits into account when reserving the space for the operation, not just
the exponent.
PiperOrigin-RevId: 314622744
GitOrigin-RevId: 5b9d5ce21074c0541432555d383d1b9c5898b553
Change-Id: I080a5e333e2dc1545b5aa0417882f7ac7116a20c
--
b2b94b9f533e4f9ae2a2df9de56ccb3b18f31d0d by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 314366138
--
7a5ac6be82741aec5b327d7b67efd14d69deed6a by Gennadiy Rozental <rogeeff@google.com>:
Introduce Abseil prefixed dynamic annotation macros.
PiperOrigin-RevId: 314228914
--
33e7c605cb1be9bd48bd3590b1eedccd68d3bd1b by Gennadiy Rozental <rogeeff@google.com>:
Fixing missing includes and remove unnecessary ones.
PiperOrigin-RevId: 314217909
--
6a3c5c26bfa13317bf0a880f13d0e4be0b971b76 by Gennadiy Rozental <rogeeff@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 314209576
--
f7795aa68020af4a6b4905531ba951e04b88966a by Abseil Team <absl-team@google.com>:
absl::FormatTime() and absl::ParseTime() format specifiers:
- %EZ now accepts 'z' in addition to 'Z' as a synonym for +00:00.
- %ET is introduced, producing 'T' on output, and accepting 'T'
or 't' on input. This is for the RFC3339 date-time separator.
PiperOrigin-RevId: 313945137
--
87c437ce3aab3f59a7546e44a28cd1c8aaa152c3 by Laramie Leavitt <lar@google.com>:
Rollback
PiperOrigin-RevId: 313868206
--
8049b74349486a0026932b86d29c380b195e1cba by Laramie Leavitt <lar@google.com>:
Remove the MockingBitGenBase base class in favor of type-erasure in BitGenRef.
In Abseil random, mocking was split across two different classes,
MockingBitGenBase and MockingBitGen. This split existed because Google Mock is a
test-only library that we don't link into production, so MockingBitGenBase
provided a low-overhead scaffold used to lookup mocks when in test code, but
which is unused in production code.
That has been replaced by type-erasure which looks for a method named
CallImpl with the correct signature.
Weaken the coupling between MockingBitGen, DistributionCaller, and MockOverloadSet.
Rename CallImpl to InvokeMock()
Previously, the implementation of DistributionCaller was also split across different files using explicit instantiation of the DistributionCaller struct and some details in the Mocking classes. Now Distribution caller uses the presence of the InvokeMock() method to choose whether to use the mockable call path or the default call path.
PiperOrigin-RevId: 313848695
--
1741d80e08050e1939605f70ca6ff64809785c85 by Gennadiy Rozental <rogeeff@google.com>:
Introduce public interface to access reflection handle corresponding the flag.
This interface will be the only official way to access flag reflection information from the flag object. The other internal methods will eventually disappear.
PiperOrigin-RevId: 313734006
--
c375bead457de29d9c29595d16c66d3e5125b585 by Abseil Team <absl-team@google.com>:
Improve documentation of absl::c_partial_sort_copy.
This function takes no middle parameter, instead using the size of the result
container to determine the size of the partial sort.
PiperOrigin-RevId: 313656062
--
bbc759d43656b1b996ad558f23c852a9f14129d2 by Gennadiy Rozental <rogeeff@google.com>:
Eliminate dynamic annotation symbols in the library.
PiperOrigin-RevId: 313650817
GitOrigin-RevId: b2b94b9f533e4f9ae2a2df9de56ccb3b18f31d0d
Change-Id: Ic7a11bbcb723f3ff6a7e2f214bff0a92c6f8ab4d
--
f012012ef78234a6a4585321b67d7b7c92ebc266 by Laramie Leavitt <lar@google.com>:
Slight restructuring of absl/random/internal randen implementation.
Convert round-keys.inc into randen_round_keys.cc file.
Consistently use a 128-bit pointer type for internal method parameters. This allows simpler pointer arithmetic in C++ & permits removal of some constants and casts.
Remove some redundancy in comments & constexpr variables. Specifically, all references to Randen algorithm parameters use RandenTraits; duplication in RandenSlow removed.
PiperOrigin-RevId: 312190313
--
dc8b42e054046741e9ed65335bfdface997c6063 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 312167304
--
f13d248fafaf206492c1362c3574031aea3abaf7 by Matthew Brown <matthewbr@google.com>:
Cleanup StrFormat extensions a little.
PiperOrigin-RevId: 312166336
--
9d9117589667afe2332bb7ad42bc967ca7c54502 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 312105213
--
9a12b9b3aa0e59b8ee6cf9408ed0029045543a9b by Abseil Team <absl-team@google.com>:
Complete IGNORE_TYPE macro renaming.
PiperOrigin-RevId: 311999699
--
64756f20d61021d999bd0d4c15e9ad3857382f57 by Gennadiy Rozental <rogeeff@google.com>:
Switch to fixed bytes specific default value.
This fixes the Abseil Flags for big endian platforms.
PiperOrigin-RevId: 311844448
--
bdbe6b5b29791dbc3816ada1828458b3010ff1e9 by Laramie Leavitt <lar@google.com>:
Change many distribution tests to use pcg_engine as a deterministic source of entropy.
It's reasonable to test that the BitGen itself has good entropy, however when testing the cross product of all random distributions x all the architecture variations x all submitted changes results in a large number of tests. In order to account for these failures while still using good entropy requires that our allowed sigma need to account for all of these independent tests.
Our current sigma values are too restrictive, and we see a lot of failures, so we have to either relax the sigma values or convert some of the statistical tests to use deterministic values.
This changelist does the latter.
PiperOrigin-RevId: 311840096
GitOrigin-RevId: f012012ef78234a6a4585321b67d7b7c92ebc266
Change-Id: Ic84886f38ff30d7d72c126e9b63c9a61eb729a1a