| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The DLL export issue isn't a problem currently, since we don't explicitly export any symbols from the test dll. This will be an issue in the future though. Additionally, there was a typo in absl_internal_test_dll_contains that caused abseil_test_dll to be empty (and therefore not create a lib file).
PiperOrigin-RevId: 504555797
Change-Id: Ic7b50bcbe704f7c8fd44028071abcf5d6babb2cf
|
|
|
|
|
| |
PiperOrigin-RevId: 503437019
Change-Id: I3630fec690f1472130fef21b16dfcd3c5208aa69
|
|
|
|
|
|
|
|
| |
the earliest supported GCC version according to
https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
PiperOrigin-RevId: 503337021
Change-Id: Ibc7b2453b7aa30779b76e2a4ad918e39d0efcabe
|
|
|
|
|
| |
PiperOrigin-RevId: 501014555
Change-Id: Ie204d307a4e537935a04c0f23bb13532e3c84bc8
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 500300819
Change-Id: Iacff97071d158843d687c811b0d78d4ddeba9039
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
off64_t is not provided without defining _LARGEFILE64_SOURCE on musl
this define is not defined automatically like glibc where it gets
defined when _GNU_SOURCE is defined. Using off_t makes it portable
across musl/glibc and for using 64bit off_t on glibc 32bit systems
-D_FILE_OFFSET_BITS=64 can be defined during build via CXXFLAGS
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|/
|
|
|
|
|
| |
This is now available as the public symbol ABSL_UNREACHABLE().
PiperOrigin-RevId: 499578459
Change-Id: Ib36c1826eb733271a6b02e81d6c3d088b255180a
|
|
|
|
|
| |
PiperOrigin-RevId: 498179140
Change-Id: Ie18b68e6313817b4f41fec6b10dd878436431730
|
|
|
|
|
| |
PiperOrigin-RevId: 497197704
Change-Id: I3865a874e04f6f55a1ab374b03451535a86bc5a3
|
|
|
|
|
|
|
| |
that the assert can be a static_assert
PiperOrigin-RevId: 497161039
Change-Id: If714cb25ca1d9481ada94b3b5b4cb16a4dd4e85a
|
|
|
|
|
|
|
|
|
|
|
| |
ABSL_UNREACHABLE() is an unreachable statement. A program which reaches
one has undefined behavior, and the compiler may optimize accordingly.
The behavior is changed to abort the program in !NDEBUG or
ABSL_OPTION_HARDENED modes.
PiperOrigin-RevId: 496917150
Change-Id: If036b2d9567933fa266fbcd33f3f98c682ad7f41
|
|
|
|
|
|
|
|
|
| |
or ABSL_ATTRIBUTE_PURE_FUNCTION
However, both absl_attributes are now unimplemented to avoid breaking existing users.
PiperOrigin-RevId: 496769399
Change-Id: I9c00cb60b885526300d744f9ea7c0f2178f092bb
|
|
|
|
|
| |
PiperOrigin-RevId: 487707178
Change-Id: Ie8f57a6327a6460ab37566b8b6f56d470f6dd2dc
|
|
|
|
|
| |
PiperOrigin-RevId: 487592054
Change-Id: Iff24f6e2a304fbc85843f10417fc3343c41333da
|
|
|
|
|
| |
PiperOrigin-RevId: 483972593
Change-Id: I5358871cdf825bbfae65bf9f5872c4fd56005fb7
|
|
|
|
|
| |
This corrects the generated .pc files, so these libs match the other libs
already included there.
|
|
|
|
|
| |
PiperOrigin-RevId: 479614832
Change-Id: I440d145172c93cc4043aeda36898877a331ed5ff
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 479321649
Change-Id: Icc3eba76fc17272fb1e9b1da2216394971a3d3ae
|
|/
|
|
|
|
|
|
|
| |
If you compile with clang 15+, the uses of trivially destructible and
assignable are deprecated. This sets this configuration correctly as the
ifdef to fix the build.
Fixes https://github.com/abseil/abseil-cpp/issues/1201
Related https://github.com/abseil/abseil-cpp/pull/1277
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by default.
The compatibility macro `ABSL_LEGACY_THREAD_ANNOTATIONS` can be
defined on the compile command-line to temporarily restore these
spellings. All of the thread annotation macros are available under
ABSL_ prefixed spellings in `absl/base/thread_annotations.h`. The
compatibility macro and the legacy spellings will be removed in the
future.
See https://github.com/google/fuzztest/issues/41
PiperOrigin-RevId: 478498273
Change-Id: I120ad6480d031642bf95a11bf72ab883d9161810
|
|
|
|
|
|
|
| |
interrupts to `read`
PiperOrigin-RevId: 477547252
Change-Id: Icc94290511b5071d15584d59dcd9cf6ad7319e2b
|
|
|
|
|
| |
PiperOrigin-RevId: 477043101
Change-Id: I009ea39ad61e7e78cdac51afc57a8ad5b4d8aa2d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
absl::is_trivially_relocatable - and move it from optimization.h to type_traits.h.
Example of how to change to the new type trait:
```
#include "absl/base/attributes.h"
if (ABSL_IS_TRIVIALLY_RELOCATABLE(T)) { DoSomething(); }
```
to
```
#include "absl/meta/type_traits.h"
if (absl::is_trivially_relocatable<T>::value) { DoSomething(); }
```
Note that optimization.h is also built in C mode so we can't put a type trait there.
PiperOrigin-RevId: 475633715
Change-Id: I2bc85f3f6711d1280049fd01eb97c497d2d0d929
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Addresses failures with the following, in some files:
-Wshorten-64-to-32
-Wimplicit-int-conversion
-Wsign-compare
-Wsign-conversion
-Wtautological-unsigned-zero-compare
(This specific CL focuses on .cc files in */internal/.)
Bug: chromium:1292951
PiperOrigin-RevId: 473868797
Change-Id: Ibe0b76e33f9e001d59862beaac54fb47bacd39b2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Addresses failures with the following, in some files:
-Wshorten-64-to-32
-Wimplicit-int-conversion
-Wsign-compare
-Wsign-conversion
-Wtautological-unsigned-zero-compare
(This specific CL focuses on tests.)
Bug: chromium:1292951
PiperOrigin-RevId: 473055916
Change-Id: I40cdd6c87ba9d0a5fb2db5746cff04f14ee829c2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Addresses failures with the following, in some files:
-Wshorten-64-to-32
-Wimplicit-int-conversion
-Wsign-compare
-Wsign-conversion
-Wtautological-unsigned-zero-compare
(This specific CL focuses on .cc files in */internal/.)
Bug: chromium:1292951
PiperOrigin-RevId: 471561809
Change-Id: I7abd6d83706f5ca135f1ce3458192a498a6280b9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Addresses failures with the following, in some files:
-Wshorten-64-to-32
-Wimplicit-int-conversion
-Wsign-compare
-Wsign-conversion
-Wtautological-unsigned-zero-compare
(This specific CL focuses on .cc files in */internal/.)
Bug: chromium:1292951
PiperOrigin-RevId: 471549854
Change-Id: Id685d0e4666212926f4e001b8ef4930b6a33a4cc
|
|
|
|
|
| |
PiperOrigin-RevId: 471292183
Change-Id: Ic124d671dd3b0ae819f741885abb046cbf7e1add
|
|
|
|
|
|
|
|
| |
1. Removes unused includes
2. Replaces <stdint.h> with <cstdint>
PiperOrigin-RevId: 469705016
Change-Id: Ic32871be93d01436f5538c44321faad7bd2e4511
|
|
|
|
|
|
|
| |
mode. They are not available in that configuration, even if the host supports them.
PiperOrigin-RevId: 468232254
Change-Id: I1cd26eda2962778b62135a31f477928c3bde1124
|
|
|
| |
Delete deprecated header include
|
| |
|