| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
The current spelling is inconsistent with standard casing rules: "nonnull" is a single word, not two.
PiperOrigin-RevId: 546034114
Change-Id: I04e5a204f4a74ebaa76031dd0b0874ca9cfa902c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Xcode 14.3, Apple modified the OS versions which support these
three types to exclude iOS 11 and watchOS 4. Update abseil accordingly.
Those versions of the OS did _not_ actually support the types, and any
binaries which used these types, built with prior Xcode versions,
would've crashed on startup on an actual iOS 11 or watchOS 4 device
due to missing symbols. As of Xcode 14.3, using them is now, correctly,
a build failure.
This change also drops the conditionals for pre-Xcode 12.5, as that is
no longer a supported version.
PiperOrigin-RevId: 546005629
Change-Id: Ib0430307ac2ada4910f07c54cfd6e99db8ca1905
|
|
|
|
|
| |
PiperOrigin-RevId: 544677169
Change-Id: I98874c5c8d1c9a057958b63e2b3c4fdd5daccd39
|
|
|
|
|
| |
PiperOrigin-RevId: 544461113
Change-Id: Iafbd6daf2d03ae18a49ea449315ee7cd6a0e615e
|
|
|
|
|
| |
PiperOrigin-RevId: 544438364
Change-Id: I22d461f2d0aa8638a0e640eebecdc7e5e2b49ea3
|
|
|
|
|
|
|
| |
comparison.
PiperOrigin-RevId: 544197983
Change-Id: I7eb39563e696d6561ad193d4d25b4161eb6419ae
|
|
|
|
|
|
|
| |
It's NOOP without HWASAN.
PiperOrigin-RevId: 543045322
Change-Id: Ibb5f28d316bfc5e8aa51861fd55e50ecb517a9a3
|
|
|
|
|
|
|
|
|
|
|
| |
Reformat Mutex-related files so that incremental formatting changes
don't distract during review of logical changes.
These files are subtle and any unnecessary diffs make reviews harder.
No changes besides running clang-format.
PiperOrigin-RevId: 541981737
Change-Id: I41cccb7a97158c78d17adaff6fe553c2c9c2b9ed
|
|
|
|
|
| |
PiperOrigin-RevId: 541915097
Change-Id: I7ebfbafc36db38b59b30ab5b312cd7e22082a805
|
|
|
|
|
|
|
| |
It no longer strictly writes to stderr, since Emscripten/WebAssembly now use _emscripten_err which might be replaced by something that is not the same as stderr by the host.
PiperOrigin-RevId: 540655336
Change-Id: Icc2a430a0db53a1282ef5558e9f3648db67e972c
|
|
|
|
|
|
|
| |
This bypasses the need for filesystem APIs just for stderr access.
PiperOrigin-RevId: 540367155
Change-Id: Ib91dadac28cb5c8e571407b5dfa60c3e65539c95
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 539747818
Change-Id: Ia0ab0fdda0ffe9b23d83d55c899f301df20b1179
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
off_t is best for portability. Its size varies with the platform.
off64_t is non-standard, but is present in glibc and some BSDs.
It also matches the signature specified in the manual.
https://man7.org/linux/man-pages/man2/mmap.2.html
This is a re-spin of #1349, but correctly casts the type to the type
expected by the kernel for mmap2.
https://man7.org/linux/man-pages/man2/mmap2.2.html
Fixes #1473
PiperOrigin-RevId: 539656313
Change-Id: I7a30dd9d3eb6af03a99da0d93d721a86f6521b25
|
|/
|
|
|
|
|
|
| |
AppleClang seem to allocate two extra 64-bit words per each `new[]`.
A test should pass larger buffer to a placement `new[]`.
Fixes #1090
|
|
|
|
|
|
|
| |
in NACL pthread_self() returns a pointer that isn't directly convertible to arithmetic type.
PiperOrigin-RevId: 539023020
Change-Id: I3745ec5565f3a99ccb1d9df12c27a80e57ca4755
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 538778978
Change-Id: I0c04b09987eb4d97892825e3c994656d4e300f60
|
| | |
|
|\ \
| |/
|/|
| |
| | |
PiperOrigin-RevId: 538488164
Change-Id: I680dcbc2f27dca3beba416b3cd0a55943751cf4c
|
| |
| |
| |
| |
| |
| |
| | |
Motivation is for WebAssembly to avoid perror which in turn requires file system emulation.
PiperOrigin-RevId: 536737294
Change-Id: I5177064c9451fb630ec5e9d0c0a0679fabd98afa
|
| |
| |
| |
| |
| |
| |
| | |
The fallback isn't totally portable, even within POSIX, but we can special case any future platforms where it's not just like this change does for Apple.
PiperOrigin-RevId: 535324103
Change-Id: Ib628925c4946b6c112373678fe37e9bb44259090
|
| |
| |
| |
| |
| |
| |
| | |
of it into a lambda.
PiperOrigin-RevId: 535245982
Change-Id: I816f60c8b6476536df6836500f01c9a3ad88ddd4
|
| |
| |
| |
| |
| |
| |
| | |
for clang
PiperOrigin-RevId: 534824761
Change-Id: I0ab78fcb211bc5df756fb581761ed8febc3d18fd
|
|/
|
|
|
|
|
|
| |
The AIX assembler doesn't support numeric labels. Use a relative jump
instead to fix
Assembler:
/tmp/ccw16WCt.s: line 25: Error In Syntax
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
absl::FromDateTime().
These have been marked deprecated in the comments for some time,
(since f340f773edab951656b19b6f1a77c964a78ec4c2) but the warnings
were never enabled.
A warning suppression is enabled for Abseil code so that when we
declare types in our code, we don't get a warning.
PiperOrigin-RevId: 532891102
Change-Id: Ife0c5696a061ea44769e02869e4e3d1196e86f9d
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 527066823
Change-Id: Ifa1e9a43c7490b34f9f4dbfa12d3acbed6b49777
|
|/ |
|
|
|
|
|
| |
PiperOrigin-RevId: 525462751
Change-Id: Ibd6202cb95e79a48a6b39ccc4b74ead04128eb91
|
|
|
|
|
| |
PiperOrigin-RevId: 525241200
Change-Id: I8d1536cb813da8b80a978340343b0243a49928f7
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 523220096
Change-Id: Iaffea2c9c4d112839ca8c2c7f130f72c3d7cc35b
|
|
|
|
|
|
|
| |
https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
PiperOrigin-RevId: 521573177
Change-Id: I1f12ddbd8516314ee2ed7f8ba6a6895b03c6c270
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/#c20-no_unique_address
MSVC disables [[no_unique_address]] by default because of ABI
compatibility. Since Abseil does not claim ABI compatibility in
mixed-mode builds, we can offer it unconditionally.
Fixes #1418
PiperOrigin-RevId: 518894036
Change-Id: If7653e65703b335783f11d296de7e32fc35d4fc6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implementation may at some point become the default on some
platforms. Currently not all platforms have widespread support for
both real absolute timeouts or real relative timeouts (here "real"
means without converting to the other timeout type which is the only
one supported by the underlying APIs). In this case we can defer to
their standard library to implement correct support.
This is not currently the default on any platform
Note: The size of WaiterState had to increase to fit the new implementation
PiperOrigin-RevId: 518266646
Change-Id: I7f246646a960d6e1b155f9de0bf2f681c5d3d245
|
|
|
|
|
|
|
| |
Also makes `ABSL_INTERNAL_LOG(LEVEL(x), "oops")` not call unreachable (even when x == kFatal) for consistency.
PiperOrigin-RevId: 517894304
Change-Id: I798b1032d126330ace1e2b48edd8fc547a2ad2f8
|
|
|
|
|
| |
PiperOrigin-RevId: 517142676
Change-Id: If50a1bf5f92da166d6b4923110ec8b25446b6b11
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a path in which the guard_result_ member is
not initialized; this is benign as the code makes
sure that it only accesses an initialized state.
Static analysis tools (such as clang-tidy) might not
see that however, so to make them happy, initialize
that value.
PiperOrigin-RevId: 516876319
Change-Id: I1bd2e97ad9e1daaa1397f306df993de13f7e684e
|
|
|
|
|
| |
PiperOrigin-RevId: 516245113
Change-Id: Idaef538c9392decbfdeb3ed3b3c109c795f92f4d
|
|
|
|
|
|
|
| |
platforms.
PiperOrigin-RevId: 515353041
Change-Id: I2c88022d50a3351f70d09a2d63020470889752d9
|
|
|
|
|
|
|
| |
This was originally added in order to centralize the ifdefs, in cl/164484905. However, cl/337142938 undid this aspect of the change, because it broke on Android. What is left is vestigial: `Throw()` can be deleted at no loss, with a warning that should discourage us from ever reintroducing it.
PiperOrigin-RevId: 513391041
Change-Id: I1608a2007eb26ee95df07f3b4b1672c034743832
|
|
|
|
|
| |
PiperOrigin-RevId: 512974770
Change-Id: If7a8128996d2a73ac566faaa676ddd3858d51af6
|
|
|
|
|
| |
PiperOrigin-RevId: 512622121
Change-Id: If90aaf7939062bd475253c372d9d7950c98c7150
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Abseil defines `ABSL_INTERNAL_HAS_RTTI` by:
```
!defined(__GNUC__) || defined(__GXX_RTTI)
```
This predicate correctly decides rtti for GNU platforms. This predicate is always true for non-GNU platforms.
It is not true that rtti is always enabled for non-GNU platforms. For example, when building with `cl.exe` and disabling rtti with `\GR-`, this clause is true. This leads to errors in Windows builds that disable rtti.
This default behavior is not decidably correct, but the default behavior shouldn't change. It is better to guess that rtti is on, because if rtti is actually off, compilation will fail, and no programs will be harmed.
This change updates the non-default behavior to include a check for rtti on Windows platforms. This change preserves the default behavior.
PiperOrigin-RevId: 512085922
Change-Id: I1add0b9b8ca2de5d1313c8aed5ba2019632ab68a
|
|
|
|
| |
nullptr instead of 0 and nothing instead of void for function arguments is preferred.
|
|
|
|
|
|
|
|
|
| |
__builtin_prefetch()
Supporting _m_prefetchw() (officially part of 3DNOW) across various compilers and platforms turns out to be difficult. This change removes the explicit _m_prefetchw call aimed at MSVC compilers given that it causes issues in clang / chromium compilations.
PiperOrigin-RevId: 509632497
Change-Id: Ib1b6b2cf667cbc1af5ed6651cd9aa0294a9265b6
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 509299527
Change-Id: I2f9a801faf87f968f1625711a67d38a528f0740c
|
|/ |
|
|
|
|
|
|
|
| |
not `__builtin_prefetch<addr>, 1, 0)`
PiperOrigin-RevId: 507015724
Change-Id: I99f44fe819c27e6dcc0bb7b36f1a37015c6f1987
|
|
|
|
|
| |
PiperOrigin-RevId: 505184961
Change-Id: I64482558a76abda6896bec4b2d323833b6cd7edf
|
|
|
|
|
| |
PiperOrigin-RevId: 504941246
Change-Id: I94c1e85afd254e84948477b511d41eeb8285fdae
|