| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
on timing as flaky.
This will run them up to 3 times (in the default configuration) and only
consider the test failed if it fails each time.
PiperOrigin-RevId: 530348477
Change-Id: Ib77bd8a166828b82a1b49ee5ef2e8321752e51d0
|
|
|
|
|
|
|
|
|
| |
in some of the
builds.
PiperOrigin-RevId: 530308301
Change-Id: I7c885156e14d9c8c444c7c6f8d38e7aaac7c01a7
|
|
|
|
|
| |
PiperOrigin-RevId: 530238518
Change-Id: I2bfca582c0734f7e6943c5359730a2857809e2d2
|
|
|
|
|
|
|
| |
outside of generic programming (attempt #2 after internal fix)
PiperOrigin-RevId: 529796927
Change-Id: I755b7d907f96f4a05d01620503bf0862ce35e847
|
|
|
|
|
| |
PiperOrigin-RevId: 529514670
Change-Id: Ia9a19da52f58c91d5131c2a17308a7a322db2714
|
|
|
|
|
|
|
| |
outside of generic programming
PiperOrigin-RevId: 529484669
Change-Id: I9889a9f7a7fa7dc6ef8c731f1b583a74e6afd2cf
|
|
|
|
|
|
|
|
|
| |
equal to field_type.
Also do some minor refactoring in btree.h.
PiperOrigin-RevId: 529460378
Change-Id: I278833ada93bbb7652e149fceed08ce3485e4312
|
|
|
|
|
|
|
| |
from internal ones.
PiperOrigin-RevId: 529423722
Change-Id: Ib1cc427299100956c0f2ae6cb5214467ef5a3790
|
|
|
|
|
| |
PiperOrigin-RevId: 529119690
Change-Id: If585274c409e2a344c8d60759da6f8f990023d29
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 529086715
Change-Id: Id5462322d5707a1b4475438520fcb70ee7b15450
|
|/ |
|
|
|
|
|
|
|
| |
When we insert a new element, when ASan is enabled, we replace the node that the new element is on in order to try to detect cases of code depending on pointer/reference-stability.
PiperOrigin-RevId: 528826645
Change-Id: Ie5c15c13016a8aa831a0d1edc3ad33c1f5ca4d65
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
time_t
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1433
Some 32-bit configurations may use 64-bit time_t, which leads to different layout of userspace timespec and the one expected by SYS_futex implementation in kernel. In particular the issue occurs when using musl libc which has switched to unconditional 64-bit time_t definition.
This patch introduces custom struct timespec with two longs when old SYS_futex is used to match the kernel timespec definition.
Merge 2eaca415da825b3f31a90f58a35bdef2b6d2a6c5 into f8bf909108b3604a00590a074f2986c0895514d2
Merging this change closes #1433
COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1433 from olegartys:futex_time64_bug 2eaca415da825b3f31a90f58a35bdef2b6d2a6c5
PiperOrigin-RevId: 528796119
Change-Id: Idaa952f64bd97c6dc9703a8b44deac43e29ff9ae
|
|
|
|
|
|
|
|
|
|
| |
on timing as flaky.
This will run them up to 3 times (in the default configuration) and only
consider the test failed if it fails each time.
PiperOrigin-RevId: 528785128
Change-Id: I4aa5b74aa3a6873c83f2a01734c679351b1cd5d0
|
|
|
|
|
|
|
|
|
|
|
| |
non-literals to save an instruction at each operator<<(string) callsite.
The operator<<s get inlined at the callsite. The saved instruction is a 'load immediate' to put the StringType argument in a register for passing.
This does make the logging TU slightly larger, but it will be an overall size win for all but the smallest programs. Smaller, faster code at callsites is worth it anyway.
PiperOrigin-RevId: 528569773
Change-Id: Id8185266a975a12ab6f1a553c2c0846261822396
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 528547013
Change-Id: I9b57ee062ef666d6a34696778ff16a46c5ccb17d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dispatching to per-severity constructors and omitting the severity argument.
In that particular ABI, the empty tag structs are NO_CLASS and don't appear in the generated code.
https://godbolt.org/z/crqaPh8Kv
PiperOrigin-RevId: 527989179
Change-Id: I365f11f6ca1de2623690d0a04e6f02f7de82b1fc
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
implementation.
These functions are meant to allow for avoiding complex SFINAE pre-C++17.
PiperOrigin-RevId: 527968428
Change-Id: I6524206c9dc50663d7c38abf6d0e8080ca93fc30
|
|/ |
|
|
|
|
|
| |
PiperOrigin-RevId: 527598377
Change-Id: I0ae1505db595b7f3a420f2f608c6e02f8800f138
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 527066823
Change-Id: Ifa1e9a43c7490b34f9f4dbfa12d3acbed6b49777
|
|/ |
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 526675031
Change-Id: Ib84423ccea2d0183166194a0916a97a7ed32915c
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 526653332
Change-Id: I0a20d4ac636da3f1a930f96e0cdb9275527e4688
|
| |
| |
| |
| |
| |
| |
| | |
types.
PiperOrigin-RevId: 526644558
Change-Id: I050162c2c0d667c32f7e11f51201054cca52667d
|
| |
| |
| |
| |
| |
| |
| | |
Currently static analysis tools built using the Clang Dataflow Analysis framework can't prove that code under `switch (0) case 0:` is executed on all paths. The Clang Dataflow Analysis framework should ultimately be improved to handle these cases. In the meantime, to enable the use of such tools in their current state, we add a `default` case back to the `switch` statement in `ABSL_LOG_INTERNAL_STATELESS_CONDITION` to help them understand that the code is executed on all paths.
PiperOrigin-RevId: 526638852
Change-Id: I49490dd477ba777aae2530697b75b583242aebc5
|
| |
| |
| |
| |
| |
| |
| | |
pointer and hashes that, which is very unlikely to be what the author intended.
PiperOrigin-RevId: 525923741
Change-Id: I876dbde341f0b0642fa3d10e3f67b0b31d0311bf
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
for __ANDROID_API__ >= 30
https://android.googlesource.com/platform/bionic/+/69010802d037dbc10377416bd9cc696fa34b9384%5E%21/libc/include/pthread.h
PiperOrigin-RevId: 525815479
Change-Id: I88cd1a06a4f7bb5380ff7c1e6a8f45e2b04b7df8
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 525808747
Change-Id: I01aeef6b8558673bf1fc38a948dcecf00300b641
|
| |
| |
| |
| |
| |
| |
| | |
constructing nodes.
PiperOrigin-RevId: 525792213
Change-Id: I4386385e6e05d74a4ccc18cea505530e919f0e28
|
|/
|
|
| |
This lets us avoid having to do the addition manually.
|
|
|
|
|
| |
PiperOrigin-RevId: 525462751
Change-Id: Ibd6202cb95e79a48a6b39ccc4b74ead04128eb91
|
|
|
|
|
| |
PiperOrigin-RevId: 525241200
Change-Id: I8d1536cb813da8b80a978340343b0243a49928f7
|
|
|
|
|
| |
PiperOrigin-RevId: 525178448
Change-Id: I0f35a38f23316b25621148b7fe59becf72bafeff
|
|
|
|
|
|
|
| |
setting an empty or invalid flag value.
PiperOrigin-RevId: 525065479
Change-Id: I3c0822db8301e0999b0669394b415df82edd445f
|
|
|
|
|
| |
PiperOrigin-RevId: 524368346
Change-Id: I68b57a1abc8d805aa5cb4b45c5d7449ade231579
|
|
|
|
|
| |
PiperOrigin-RevId: 524347923
Change-Id: I4538eb8d5d6e8befbeb8ab992b0ad44dd8f4f00c
|
|
|
|
|
|
|
| |
usage needs when storing duration in containers (e.g. `vector<absl::Duration>` uses 25% less memory), and allows classes with `absl::Duration` fields to fit other stuff in memory previously used by tail padding (e.g. `std::optional<absl::Duration>` is now 16 bytes instead of 24)."
PiperOrigin-RevId: 524256689
Change-Id: Ibf40d9e5411020179fa34c972349c7b58aa9d908
|
|
|
|
|
| |
PiperOrigin-RevId: 524112966
Change-Id: I197f98f95b1c4de7f53295a6a01db9b0379b4f55
|
|
|
|
|
|
|
| |
tests under sanitizers. The overrides break the sanitizers.
PiperOrigin-RevId: 524037272
Change-Id: I85b87d3870c488cb316505e94b394c6f98e9f60f
|
|
|
|
|
|
|
| |
for relative timeouts
PiperOrigin-RevId: 523789416
Change-Id: Ide4cfdcae9ea7bffca3355c80ea9c8833a9536e6
|
|
|
|
|
|
|
|
|
| |
i.e. comp(A,B) && comp(B,C) -> comp(A,C).
When inserting a new element, we verify that the key is ordered correctly with respect to all the other values on the node, which can be done in constant time.
PiperOrigin-RevId: 523729309
Change-Id: Idb5a5912a9aa5411d086cb9fa76791523046778a
|
|
|
|
|
|
|
| |
std::is_trivially_copyable
PiperOrigin-RevId: 523724345
Change-Id: Id68c79c3bbb253d892bdef4659ac8a926e023d12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use Linux's prctl(PR_SET_VMA) system call to name memory arenas being
allocated using mmap(MAP_ANONYMOUS).
This change allows Abseil's memory arena(s) to be distinguished from
other uses of anonymous memory within a process, which in turn helps
investigations into the memory usage of applications.
The change adds a new prctl() system call to the code paths that call
mmap(). This is not expected to add significant overhead to applications.
The call to prctl(PR_SET_VMA, ...) can fail if the Linux kernel in use was
not configured with the CONFIG_ANON_VMA_NAME kernel option. This should
be OK since the naming memory regions is primarily a debugging aid.
PiperOrigin-RevId: 523687348
Change-Id: Ie404e5eeef0a6da53330b3a56149c4f3bc6bf5c7
|
|
|
|
|
|
|
| |
This has nothing to do with copy assignment or with destruction.
PiperOrigin-RevId: 523576913
Change-Id: Iddb6ab73bcfd8b01a29880cdf4db4bc2b5aead8a
|
|
|
|
|
|
|
| |
This has nothing to do with copy construction or copy assignment.
PiperOrigin-RevId: 523571907
Change-Id: I338b5a40616594406ca8c80b747540c8935798e9
|
|
|
|
|
|
|
| |
This has nothing to do with copy construction or copy assignment.
PiperOrigin-RevId: 523557887
Change-Id: I332d6ceaf738305157605f1271cb577a83d198c5
|
|
|
|
|
|
|
|
|
| |
Don't require a trivial move constructor and trivial destructor. This excludes
types that have declared themselves trivially relocatable by another means, like
std::unique_ptr. Instead use "is trivially relocatable" directly, which includes
all previous types as well as those that have opted in.
PiperOrigin-RevId: 523557136
Change-Id: Icea2dbb8f36f99623308155f2e5b1edd8e5bd36b
|
|
|
|
|
| |
PiperOrigin-RevId: 523220096
Change-Id: Iaffea2c9c4d112839ca8c2c7f130f72c3d7cc35b
|
|
|
|
|
|
|
|
|
|
|
| |
proposed standard pthread_cond_clockwait() and sem_clockwait().
These are currently implemented in glibc >= 2.30.
These methods take a clock and use an absolute time with reference
to that clock, so KernelTimeout now can produce these values.
PiperOrigin-RevId: 522824226
Change-Id: Ife98713f6f95d800b1f8e52d5364a3dbebc4f8a6
|