| Commit message (Collapse) | Author | Age |
| |
|
|\
| |
| |
| |
| | |
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
|
|
|
|
|
|
|
| |
`AnyInvocable`
PiperOrigin-RevId: 522411202
Change-Id: Ifc99f5f6a227efd697039344ea75f53c6f282e53
|
|
|
|
|
| |
PiperOrigin-RevId: 522393331
Change-Id: Ia5f4ad6a2d16c033ea97f3c7e27e8eb7ee429242
|
|
|
|
|
| |
PiperOrigin-RevId: 522392902
Change-Id: I5764edbe85612e90d02caae49bbf629dcb8879e3
|
|
|
|
|
|
|
| |
using the non-portable pthread_cond_timedwait_relative_np()
PiperOrigin-RevId: 522340555
Change-Id: I08682f74d8d94965330f12274c7a92632b1a29f1
|
|
|
|
|
| |
PiperOrigin-RevId: 521932692
Change-Id: If637de6501a4ac41f0078d581049d23aad3480a4
|
|
|
|
|
|
|
| |
https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
PiperOrigin-RevId: 521573177
Change-Id: I1f12ddbd8516314ee2ed7f8ba6a6895b03c6c270
|
|
|
|
|
| |
PiperOrigin-RevId: 521556211
Change-Id: I1e1812eb11bfc5772abbf38ce348580c3afa5612
|
|
|
|
|
|
|
| |
were broken on MSVC 2017, but MSVC 2017 is no longer supported
PiperOrigin-RevId: 521527454
Change-Id: I7203708bdc9aa03c9764c9c36db7ce5777e43c3c
|
|
|
|
|
| |
PiperOrigin-RevId: 521525676
Change-Id: I40083f534c6904b4823138666deac18ffe6deab6
|
|
|
|
|
| |
PiperOrigin-RevId: 521133781
Change-Id: I1334ea683bc01ef9b1b9800d6681e29dd2a1ec55
|
|
|
|
|
|
|
|
| |
We know that the elements are trivially destructible if this path is used, so
there is no need to call their destructors one by one.
PiperOrigin-RevId: 521088624
Change-Id: I3edff97a073770f99031eefa7a34968fad5d7880
|
|
|
|
|
|
|
|
|
| |
The fact that this is called from paths where the element type may not have a
trivial destructor is preventing an optimization (see the TODO). Stop calling
from those paths so that the optimization can be made in an upcoming CL.
PiperOrigin-RevId: 521087730
Change-Id: Id2b66d8f36bb0d294784d0793fdd8f07e315739f
|
|
|
|
|
|
|
|
| |
The copy constructor isn't doing or simulating copy assignment; nor is it
destroying anything. We don't need to require that those operations be trivial.
PiperOrigin-RevId: 521020499
Change-Id: I0f36a720384b333ea15e6c8275872fd4fd9a738f
|
|
|
|
|
| |
PiperOrigin-RevId: 520925224
Change-Id: I8b7eb8b4d4b99d72b860aec532516b428fb2be23
|
|
|
|
|
| |
PiperOrigin-RevId: 520724148
Change-Id: Ia90c4a711649e89454bc2ca0a9d0d771d56e79c0
|
|
|
|
|
|
|
|
| |
This change fixes -Wimplicit-const-int-float-conversion warnings
by making the conversions explicit.
PiperOrigin-RevId: 520707623
Change-Id: Ib6917469120cd7458257195cbf39beb3fd397543
|
|
|
|
|
|
|
|
| |
For function N in the stack, the current code reports the size of
frame N - 1. Fix that.
PiperOrigin-RevId: 520688072
Change-Id: I984729f72f79aebae1b6997cb51d3ddef9199d1e
|
|
|
|
|
|
|
|
|
| |
These have nothing to do with copy construction or copy assignment, and using
"is trivially copy constructible" can in theory even give the wrong result if
the copy constructor is trivial but the move constructor is not.
PiperOrigin-RevId: 520488816
Change-Id: I6da4d57f3ce23b03044e0bf9aa70a14b51651fa3
|
|
|
|
|
| |
PiperOrigin-RevId: 520197681
Change-Id: I96d0253b61bb683bf30060a9b4c19e2c9dce629b
|
|
|
|
|
| |
PiperOrigin-RevId: 519939158
Change-Id: I9b049fa55167ed4064f3909887eec7bc52601677
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It currently gives the wrong result for types with a user-provided destructor:
struct S {
~S();
};
static_assert(!__is_trivially_relocatable(S));
PiperOrigin-RevId: 519855600
Change-Id: I5f0659ad0831974805a5ed4b615e3b6250d23154
|