summaryrefslogtreecommitdiff
path: root/absl
Commit message (Collapse)AuthorAge
...
* Wrap the Emscripten version macros into an (internal) macro blob for easier ↵Gravatar Andy Getzendanner2023-06-28
| | | | | | | comparison. PiperOrigin-RevId: 544197983 Change-Id: I7eb39563e696d6561ad193d4d25b4161eb6419ae
* Roll forward of CCTZ update; fixed by clang release.Gravatar Abseil Team2023-06-28
| | | | | PiperOrigin-RevId: 544146637 Change-Id: I5ca44465f451956ae246081ce826891599b18b9c
* Refactor bit tests to allow for the testing of more typesGravatar Eric Fiselier2023-06-28
| | | | | PiperOrigin-RevId: 544107572 Change-Id: I8016ee690ad5df78bf80ba0786e528fba4e51907
* Rollback of CCTZ update due to crash in clang ObjcLink.Gravatar Abseil Team2023-06-28
| | | | | PiperOrigin-RevId: 544060862 Change-Id: I6ca631385826f6e10f6c3eeec1af532402d0b532
* Import of CCTZ from GitHub.Gravatar Gennadiy Rozental2023-06-27
| | | | | PiperOrigin-RevId: 543896343 Change-Id: Ia91b3e082b764b750bbbe9a3ce63192263d51438
* Fix the check for #include <bit>Gravatar Derek Mauro2023-06-26
| | | | | | | | | | Previously this was guarded with macros that are defined by <bit> itself. Note that libc++ also had a bug that was fixed last week https://github.com/llvm/llvm-project/commit/a4f0764aefd6ea41e83a5974f582a1a7e985667d PiperOrigin-RevId: 543511181 Change-Id: I1b8efa32f721ad450f8d1803c6c6c8373ad0371c
* AnyInvocable: Use enums instead of ints in initialization overload setGravatar Dino Radakovic2023-06-26
| | | | | | | This trick was introduced to work around a compiler bug in msvc 2017, which abseil doesn't support anymore: https://github.com/google/oss-policies-info/blob/3aa4b98f497fdfac983b8de78cf6bd693cb0cf4f/foundational-cxx-support-matrix.md PiperOrigin-RevId: 543477428 Change-Id: I332c1b359b75811536ce900d3166979ac3c196a3
* Add absl::HwasanTagPointer() to allow users to change HWASAN tagsGravatar Abseil Team2023-06-23
| | | | | | | It's NOOP without HWASAN. PiperOrigin-RevId: 543045322 Change-Id: Ibb5f28d316bfc5e8aa51861fd55e50ecb517a9a3
* Support for int128 to string type conversion.Gravatar Tsige Solomon2023-06-21
| | | | | PiperOrigin-RevId: 542269673 Change-Id: Ib6f7e9a57f83d73dd6fb9c45fc9f85ff0fdd75fe
* absl: add a Mutex::Await/LockWhen testGravatar Abseil Team2023-06-20
| | | | | | | | | Check various corner cases for Await/LockWhen return value with always true/always false conditions. I don't see this explicitly tested anywhere else. PiperOrigin-RevId: 542141533 Change-Id: Ia116c6dc199de606ad446c205951169ec5e2abe1
* absl: fix lint errors in MutexGravatar Abseil Team2023-06-20
| | | | | | | | | | | | | | | Currently linter warns on all changes: missing #include <cstdlib> for 'std::atexit' and single-argument constructors must be marked explicit to avoid unintentional implicit conversions Fix that. PiperOrigin-RevId: 542135136 Change-Id: Ic86649de6baef7f2de71f45875bb66bd730bf6e1
* Add missing #include <limits>Gravatar Derek Mauro2023-06-20
| | | | | | | Fixes #1482 PiperOrigin-RevId: 542023050 Change-Id: Iba712083edc9a24732a71f51be22ea970115809c
* Avoid trying to use __is_trivially_relocatable with NVCCGravatar Derek Mauro2023-06-20
| | | | | | | Fixes #1479 PiperOrigin-RevId: 542022998 Change-Id: I9d6059341fe867ad5539ef2a4d57925858a9cfc0
* absl: cosmetic changes for MutexGravatar Abseil Team2023-06-20
| | | | | | | | | | Few pure cosmetic changes: - remove unused headers - add using for CycleClock since it's used multiple times - restructure GetMutexGlobals to be more consistent PiperOrigin-RevId: 542002120 Change-Id: I117faae05cb8224041f7e3771999f3a35bdf4aef
* absl: reformat Mutex-related filesGravatar Abseil Team2023-06-20
| | | | | | | | | | | 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
* Add Nullability annotations to Abseil.Gravatar Abseil Team2023-06-20
| | | | | PiperOrigin-RevId: 541915097 Change-Id: I7ebfbafc36db38b59b30ab5b312cd7e22082a805
* Ensure arrays are 16-byte aligned before casting to uint128Gravatar Abseil Team2023-06-16
| | | | | PiperOrigin-RevId: 541111597 Change-Id: I88165130e30e548a03d8d6173dadab33dc18b21e
* Use std::is_final instead of a non-portable implementationGravatar Derek Mauro2023-06-16
| | | | | PiperOrigin-RevId: 540928490 Change-Id: Idf022b28ce101a948be4efd5336888a66f5eacf9
* absl: fix Mutex writer starvation related to uninit priorityGravatar Abseil Team2023-06-16
| | | | | | | | | | | | | | | | | | Currently when we queue the first thread, we don't init its priority. Subsequent queued threads init priority, but they compare it against the first thread priority, which is uninit. Thus the order can be wrong. It can lead to complete false starvation in some corner cases. On Linux the default priority is 0, which matches the uninit value, thus the problem is harder to spot on Linux (only possible if explicit thread priorities are used). But on Darwin the default priority is 31, thus the first thread falsely looks like lower priority than subsequently queued threads. The added test exposes the problem on Darwin. Always initialize the priority before queuing threads. PiperOrigin-RevId: 540814133 Change-Id: I513ce1493a67afe77d3e92fb49000b046b42a9f2
* absl: move comment in mutex.cc to where it belongsGravatar Abseil Team2023-06-15
| | | | | | | | | | Move the comment that relates to kMuDesig close to kMuDesig definition. Currently it's placed in between unrelated flags. NFC PiperOrigin-RevId: 540792401 Change-Id: I5f6a928cd9e01664812b2a7c3d9eb087c0723d7f
* The current aarch64 large-stack frame error handling is unsophisticated,Gravatar Abseil Team2023-06-15
| | | | | | | | | | | which makes it give up in certain situations where the x86 handler works fine This change adopts x86's more sophisticated stack-bounds-checking method for aarch64, and enables the HugeStack test to pass on aarch64. PiperOrigin-RevId: 540655431 Change-Id: If7d816330327722bbe5c135abfa77fda5e7e452b
* Rename AsyncSignalSafeWriteToStderr to AsyncSignalSafeWriteError.Gravatar Abseil Team2023-06-15
| | | | | | | 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
* Bug fixGravatar Tsige Solomon2023-06-15
| | | | | PiperOrigin-RevId: 540586646 Change-Id: Iac1e133647fbaa5036ac9ef7322f9af5886c658e
* For web assembly, implement raw logging as direct JS console logging.Gravatar Abseil Team2023-06-14
| | | | | | | This bypasses the need for filesystem APIs just for stderr access. PiperOrigin-RevId: 540367155 Change-Id: Ib91dadac28cb5c8e571407b5dfa60c3e65539c95
* Remove two_ASCII_digits and replace with a scalar algorithmGravatar Abseil Team2023-06-13
| | | | | PiperOrigin-RevId: 539900072 Change-Id: I675386e3184f6f5ab70b851add970c91d1dde9c5
* Functions added: FindLongestCommonSuffix, FindLongestCommonPrefix.Gravatar Tsige Solomon2023-06-12
| | | | | PiperOrigin-RevId: 539784770 Change-Id: Ie224afa04af023bbddc89b967e8c8440f9e8a887
* Removes unused methods CRC::Empty() and CRC::Concat() from the internalGravatar Abseil Team2023-06-12
| | | | | | | implementation. PiperOrigin-RevId: 539749773 Change-Id: Iec83431ffd360a077b153cea00427580ae287d1f
* Merge pull request #1475 from anpol:placement-new-array-needs-more-spaceGravatar Copybara-Service2023-06-12
|\ | | | | | | | | PiperOrigin-RevId: 539747818 Change-Id: Ia0ab0fdda0ffe9b23d83d55c899f301df20b1179
* | Adding more support and testing for int128 and uint128 flags from cl/534444213Gravatar Abseil Team2023-06-12
| | | | | | | | | | PiperOrigin-RevId: 539726003 Change-Id: Ie38f8d48a7b4c9d498fc1c4c4af6138048f80f68
* | Fix behaviors of StrCat() and StrFormat() regarding char types and enum types.Gravatar Greg Falcon2023-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a conservative change, in that it only contains bugfixes and allows new patterns that used to be compile errors. There are other changes we would like to make (as reflected in the comments in char_formatting_test.cc), but we are being careful about the implications of such behavior changes. The two implementation changes are: * Apply integral promotions to enums before printing them, so they are always treated as integers (and not chars) by StrCat and StrFormat. * Classify `unsigned char` and `signed char` as integer-like rather than char-like, so that `StrFormat("%v", v)` accepts those types as integers (consistent with `StrCat()`.) The behavior changes are: * StrCat() now accepts char-backed enums (rather than failing to compile). * StrFormat("%v") now accepts `signed char` and `unsigned char` as integral (rather than failing to compile). * StrFormat("%v") now correctly formats 8-bit enums as integers (rather than failing internally and emitting nothing). Tested: Modified the char_formatting_test.cc case to reflect changes. Re-ran all other tests. PiperOrigin-RevId: 539659674 Change-Id: Ief56335f5a57e4582af396d00eaa9e7b6be4ddc6
* | DirectMmap: Use off_t instead of off64_t for the offset parameterGravatar Derek Mauro2023-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Fix buffer overflow in a placement `new[]` storage test.Gravatar Andrei Polushin2023-06-12
|/ | | | | | | | AppleClang seem to allocate two extra 64-bit words per each `new[]`. A test should pass larger buffer to a placement `new[]`. Fixes #1090
* Optimize Cord Refcount decrement.Gravatar Connal de Souza2023-06-09
| | | | | | | Introduce kHighRefcountMask which masks off flags and the LSb of the refcount value. In the cases where this mask is used, we don't need to check the LSb because we can assume the refcount is 1 when the rest of the masked RefcountAndFlags is empty, and the LSb doesn't matter if the masked value is not empty (either it's immortal or refcount > 1). This saves an instruction and a cycle (and + cmp -> tst) https://godbolt.org/z/Kz69eqfhq PiperOrigin-RevId: 539151659 Change-Id: I2ec7d72918f052c4b0938edd746af9d5b3052c7e
* Merge pull request #1472 from pateldeev:ivGravatar Copybara-Service2023-06-09
|\ | | | | | | | | PiperOrigin-RevId: 539145188 Change-Id: Ic8dc8112f77ca720a8871de57ee389f15693ab00
* | Fix unwinding through nested signal frames on aarch64.Gravatar Abseil Team2023-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an endless loop in the absl Arm stack unwinder where encountering a second signal return trampoline (as one has in nested signal frames), would restart unwinding at the outermost signal, resulting in an endless loop. This does not change any behavior in the non-nested signal case, so I believe it is safe for any stack that hasn't encountered this bug already. I would love to test this beyond the absl unwinding test cases and the fingerprint_test included here, but I'm at a loss for other test cases. PiperOrigin-RevId: 539113007 Change-Id: I10037f9fa77b45cc4db61f89b9c6380ec3529113
* | StrFormat() simplification: Treat %v unconditionally as %d when formatting ↵Gravatar Greg Falcon2023-06-09
| | | | | | | | | | | | | | | | | | integers. This is a simplification but not a behavior change; we used to choose %u for unsigned ints, but %u and %d generate the same output for these types. PiperOrigin-RevId: 539104599 Change-Id: I9d7ff561b969a6287889f95063636d6b77a4a78b
* | Import of CCTZ from GitHub.Gravatar Abseil Team2023-06-09
| | | | | | | | | | PiperOrigin-RevId: 539104398 Change-Id: I6385662e0c5694d40c57887f983b16adc9eced14
* | The previous code was using `memmove` under the hood (`string::append`).Gravatar Abseil Team2023-06-09
| | | | | | | | | | | | | | This patch makes it use `memcpy` for performance and consistency with other overloads. PiperOrigin-RevId: 539079130 Change-Id: I5aea9dd9b8a1ce708c787df7d6c9a75ae419c484
* | Implement GetTID for NACL platform.Gravatar Abseil Team2023-06-09
| | | | | | | | | | | | | | in NACL pthread_self() returns a pointer that isn't directly convertible to arithmetic type. PiperOrigin-RevId: 539023020 Change-Id: I3745ec5565f3a99ccb1d9df12c27a80e57ca4755
| * Use InlinedVectorGravatar pateldeev2023-06-08
|/
* Merge pull request #1471 from wenshan1:blan-add-VxWorks-supportGravatar Copybara-Service2023-06-08
|\ | | | | | | | | PiperOrigin-RevId: 538778978 Change-Id: I0c04b09987eb4d97892825e3c994656d4e300f60
* \ Merge pull request #1468 from Romain-Geissler-1A:silence-aligned_storage-warningGravatar Copybara-Service2023-06-07
|\ \ | | | | | | | | | | | | PiperOrigin-RevId: 538651091 Change-Id: Id1aa7ab287beb252f4826f70e26b7e3bfa80c462
| | * Add VxWorks supportGravatar Bin Lan2023-06-08
| | |
* | | Remove redundant redeclarations causing -Wredundant-decls warningsGravatar Derek Mauro2023-06-07
| | | | | | | | | | | | | | | | | | | | | Fixes #1469 PiperOrigin-RevId: 538534014 Change-Id: Iab84f73c0a0665355b614e85c62f686dc54c8671
* | | Merge pull request #1458 from juergbi:aixGravatar Copybara-Service2023-06-07
|\ \ \ | | | | | | | | | | | | | | | | PiperOrigin-RevId: 538488164 Change-Id: I680dcbc2f27dca3beba416b3cd0a55943751cf4c
* | | | Update XML output to properly print special characters. Non printable ↵Gravatar Gennadiy Rozental2023-06-07
| |_|/ |/| | | | | | | | | | | | | | | | | characters are skipped in output. All the "whitespace-like" (including \t, \r, \n) characters printed as plain space ' '. PiperOrigin-RevId: 538479923 Change-Id: I62dff39bb21f376d00a7b9480f8f1d31d7015e45
* | | Import of CCTZ from GitHub.Gravatar Abseil Team2023-06-06
| | | | | | | | | | | | | | | PiperOrigin-RevId: 538241594 Change-Id: Ie6f0d913bcf07dea2f33e47198ba952b3800d70e
| | * Silence std::aligned_storage warnings in C++23 mode.Gravatar Romain Geissler2023-06-06
| | | | | | | | | | | | | | | | | | This is only a workaround, working only with gcc/clang, while waiting for a better long term fix not using std::aligned_storage, which is tracked by b/260219225.
* | | Add a unit test that captures the current behavior of formatting of char ↵Gravatar Greg Falcon2023-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | types and char-backed enum types through StrCat(), StrFormat("%v"), and Substitute(). This test allows us to modify the behavior in this space without introducing undesired changes elsewhere. PiperOrigin-RevId: 537981963 Change-Id: Icda91b66efcc0dc8c263011b137e130a3db2dc19
* | | Import of CCTZ from GitHub.Gravatar Abseil Team2023-06-05
| |/ |/| | | | | | | PiperOrigin-RevId: 537825067 Change-Id: I3ce8712d5130068fb7d77b563eb502e2e9560810