summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * Fix a typo of absl::Nonnull in the example comment.Gravatar Abseil Team2023-07-10
| | | | | | | | | | PiperOrigin-RevId: 546897533 Change-Id: I3ad12f252c49e4672a64d00d0107111fdc5b6ac8
| * Merge pull request #1485 from bebuch:patch-1Gravatar Copybara-Service2023-07-07
| |\ | | | | | | | | | | | | PiperOrigin-RevId: 546421283 Change-Id: I44bc6b8fe386cf947fc5c91945d5eca4333fd4ae
| | * enable CMP0141 to allow user CMAKE_MSVC_DEBUG_INFORMATION_FORMATGravatar Benjamin Buch2023-07-07
| |/
| * Rename `absl::NonNull` to `absl::Nonnull`.Gravatar Abseil Team2023-07-06
| | | | | | | | | | | | | | The current spelling is inconsistent with standard casing rules: "nonnull" is a single word, not two. PiperOrigin-RevId: 546034114 Change-Id: I04e5a204f4a74ebaa76031dd0b0874ca9cfa902c
| * symbolize_test: Add an indirection for getting the PC from function ptr.Gravatar Tom Rybka2023-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't assume that function ptr == PC. Adds a redirection mechanism, GetPCFromFnPtr, and enables more test cases for Emscripten/Wasm. On many (most?) platforms, the address of a function ptr is the same as its Program Counter (PC) for the purpose of most things, including symbolization. In Emscripten WebAssembly, the function ptr is just an index into a table of functions. However, the name section maps function names to their literal offsets into a Wasm binary. The WasmOffsetConverter is actually capable of both indirections, so we can effectively go from function ptr to offset into the binary (which is typically the "PC" for other Stack dumping things in Wasm, including `emscripten_pc_get_function`). More info: https://www.w3.org/TR/wasm-js-api-2/#exported-function-exotic-objects Also fix Emscripten symbolize handling for `nullptr` now that we have tests for that. PiperOrigin-RevId: 546006678 Change-Id: I0d4015ca9035b004158451b36c933cad009184ba
| * Correct std::optional/variant/any auto-detection for Apple platforms.Gravatar James Y Knight2023-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Clarify that lazy_emplace returns an iterator to the new element when lookup ↵Gravatar Abseil Team2023-07-05
| | | | | | | | | | | | | | fails. PiperOrigin-RevId: 545683736 Change-Id: Ic0abec5037e160898e2f24de1b1489caff7d06fd
| * absl: extend Condition::kTrue commentGravatar Abseil Team2023-07-01
| | | | | | | | | | | | | | | | | | Explain when kTrue may be useful. Note that Mutex::Await/LockWhen with kTrue condition and a timeout do not return when the timeout is reached. PiperOrigin-RevId: 544846222 Change-Id: I7a14ae5a9314b2e500919f0c7b3a907d4d97c127
| * roll forward: Make data members of CommonFields be private so that it's ↵Gravatar Evan Brown2023-06-30
| | | | | | | | | | | | | | easier to change how we store this information internally. PiperOrigin-RevId: 544732832 Change-Id: I0c9a30f18edc71b3c7fffe94e2002ff6c52050f8
| * rollback: Make data members of CommonFields be private so that it's easier ↵Gravatar Evan Brown2023-06-30
| | | | | | | | | | | | | | to change how we store this information internally. PiperOrigin-RevId: 544718317 Change-Id: I0ff3e4df7e810be9f7c5db4328995e172eb704a5
| * Rolls back use of emscripten_errn as some implementations may not be compatible.Gravatar Abseil Team2023-06-30
| | | | | | | | | | PiperOrigin-RevId: 544677169 Change-Id: I98874c5c8d1c9a057958b63e2b3c4fdd5daccd39
| * Make data members of CommonFields be private so that it's easier to change ↵Gravatar Evan Brown2023-06-30
| | | | | | | | | | | | | | how we store this information internally. PiperOrigin-RevId: 544667586 Change-Id: I9b1943ca71ea1c1f8699832422cd7bc095ac8b2d
| * Use new emscripten_errn to avoid copying strings.Gravatar Abseil Team2023-06-29
| | | | | | | | | | PiperOrigin-RevId: 544461113 Change-Id: Iafbd6daf2d03ae18a49ea449315ee7cd6a0e615e
| * Import of CCTZ from GitHub.Gravatar Abseil Team2023-06-29
| | | | | | | | | | PiperOrigin-RevId: 544445872 Change-Id: Ic7d42dca3461babdf8a6dff4c73a1596e795ffb2
| * Fix symbolization on PowerPC ELF v1Gravatar Benjamin Barenblat2023-06-29
| | | | | | | | | | | | | | | | | | | | The big-endian PowerPC ELF ABI (ppc64 in Debian) relies on function descriptors mapped in a non-executable segment. Make sure that segment is scanned during symbolization. Also correct bounds computation for that segment. PiperOrigin-RevId: 544440302 Change-Id: Ic05532aa35ae9efa127028318640ee7cdeeecc5f
| * Support Qualcomm Hexagon DSP targets.Gravatar Abseil Team2023-06-29
| | | | | | | | | | PiperOrigin-RevId: 544438364 Change-Id: I22d461f2d0aa8638a0e640eebecdc7e5e2b49ea3
| * Fix typoGravatar Abseil Team2023-06-29
| | | | | | | | | | PiperOrigin-RevId: 544401753 Change-Id: Ie5bb48bb46c8c1bf41ef902242cefefd739e7c37
| * Introduce a kTotalMorePrecise accounting mode for ↵Gravatar Abseil Team2023-06-29
| | | | | | | | | | | | | | | | | | Cord::EstimatedMemoryUsage(). This mode avoids double-counting blocks that a Cord references more than once; otherwise it is similar to the existing kTotal mode. There's no change to the existing kTotal or kFairShare accounting modes. PiperOrigin-RevId: 544378591 Change-Id: I7b4ae55cd93d631194e59a9cd0ff07f47611219e
| * 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
* | Run unit tests out of the `static` directoryGravatar Benjamin Barenblat2023-06-27
| | | | | | | | | | | | | | 136c2572f4d6e6ab8ae02f74d691634874458184 set tests to build in the `static` directory rather than the `shared` directory. Unfortunately, it neglected to set the tests to _run_ out of the `static` directory, which disabled all the tests. Set the tests to run out of `static`.
| * 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
| * CI: Update the Docker container used to test Alpine LinuxGravatar Derek Mauro2023-06-13
| | | | | | | | | | PiperOrigin-RevId: 539960446 Change-Id: If2de8bf32ffeed849280f78f8ac0685e11e80f59
| * 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