summaryrefslogtreecommitdiff
path: root/absl/base
Commit message (Collapse)AuthorAge
* No public descriptionGravatar Abseil Team2023-09-27
| | | | | PiperOrigin-RevId: 568845530 Change-Id: I8987053041423f1e8b122372f63b0a84e05eb594
* Add an internal wrapper for `abi::__cxa_demangle()`.Gravatar Abseil Team2023-09-26
| | | | | PiperOrigin-RevId: 568665135 Change-Id: I42ec9bc6cfe923777f7b60ea032c7b64428493c9
* Add an internal wrapper for `abi::__cxa_demangle()`.Gravatar Abseil Team2023-09-26
| | | | | PiperOrigin-RevId: 568652465 Change-Id: I9f72a11cb514eaf694dae589a19dc139891e7af2
* Rolling back cl/565792699Gravatar Abseil Team2023-09-20
| | | | | PiperOrigin-RevId: 567102456 Change-Id: I0750284c36850adbabc5ec0b4a2635aa8a967e53
* Honor ABSL_MIN_LOG_LEVEL in CHECK_XX, CHECK_STRXX, CHECK_OK, and the QCHECK ↵Gravatar Andy Getzendanner2023-09-15
| | | | | | | | | | | flavors of these. In particular, if ABSL_MIN_LOG_LEVEL exceeds kFatal, these should, upon failure, terminate the program without logging anything. The lack of logging should be visible to the optimizer so that it can strip string literals and stringified variable names from the object file. Making some edge cases work under Clang required rewriting NormalizeLogSeverity to help make constraints on its return value more obvious to the optimizer. PiperOrigin-RevId: 565792699 Change-Id: Ibb6a47d4956191bbbd0297e04492cddc354578e2
* Typo fix.Gravatar Abseil Team2023-09-12
| | | | | PiperOrigin-RevId: 564779671 Change-Id: I8cae825a533a00ff1983b48782486d5d00dae69a
* Fix GetTID() on FreeBSDGravatar Derek Mauro2023-09-07
| | | | | | | | | | | | | https://github.com/abseil/abseil-cpp/issues/1518#issuecomment-1709098904 pointed out that the previous untested fix doesn't work because pthread_getthreadid_np() has a different signature on Darwin. Follow up to https://github.com/abseil/abseil-cpp/commit/b9707b7d7845f9710ae6d5906827b833fdcc2754 Fixes #1518 PiperOrigin-RevId: 563432451 Change-Id: Id0a9212e9c4413fa520a42934efaed2a06ca5dbc
* Use native methods to implement absl::base_internal::GetPID() onGravatar Derek Mauro2023-09-06
| | | | | | | | | | | | | | | | FreeBSD, NetBSD, and OpenBSD https://man.freebsd.org/cgi/man.cgi?query=pthread_getthreadid_np https://man.netbsd.org/_lwp_self.2 https://man.openbsd.org/getthrid.2 This fixes a build break caused by https://github.com/abseil/abseil-cpp/commit/88cc63ef739d83277b492e881be72e9069fcb1fe Fixes #1518 PiperOrigin-RevId: 563200172 Change-Id: Ifd1b65c84e3631075248bc2e01b8f047dc72d201
* Delete //absl/base/internal/prefetch.hGravatar Derek Mauro2023-08-31
| | | | | | | Public functions are now available in //absl/base/prefetch.h PiperOrigin-RevId: 561649346 Change-Id: Ic377ad5f21c9a44ea1f213dec17f5cf97795ebde
* Add missing #include options.h in optimization.h.Gravatar Abseil Team2023-08-30
| | | | | | | options.h was already included indirectly from config.h. This CL is just to include what you use. PiperOrigin-RevId: 561376910 Change-Id: I5b96b2aedc1e02eddc049f5bf0e6faa91799930d
* Remove the legacy thread annotation spellingsGravatar Derek Mauro2023-08-28
| | | | | | | | | | | | | | | | The legacy thread annotations were spellings that were not prefixed with ABSL_ and caused conflicts with other libraries. These spellings have been removed by default for a while, but could have been added back with the temporary compile flag -DABSL_LEGACY_THREAD_ANNOTATIONS. This change completely removes the legacy spellings. If you were relying on the legacy spellings, the fix is straightforward. Simply add the ABSL_ prefix. For example, GUARDED_BY() becomes ABSL_GUARDED_BY(). PiperOrigin-RevId: 560874026 Change-Id: Id072e67435472220ea4f43ccbf267028c13feba7
* Implement ABSL_ATTRIBUTE_PURE_FUNCTION and ABSL_ATTRIBUTE_CONST_FUNCTIONGravatar Derek Mauro2023-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Pure functions have no effects except to return a value, and their return value depends only on the parameters and global variables. Functions of this kind can be subject to data flow analysis and might be eliminated. In practice, this means that repeated calls to the same function with the same arguments may be optimized away and only evaluated once. Const functions are similar to pure functions, but may not depend on global variables at all. It is an error not to use the result of a function with one of these attributes, since these functions have no other visible effects. Since some Abseil functions are tagged with these attributes, this is potentially a breaking change for code that doesn't use the result of these functions. For example, absl::Minutes() is tagged with ABSL_ATTRIBUTE_CONST_FUNCTION. If, for example, the result of absl::Minutes(n) is unused, some compilers with issue a warning or error. If this is the case, it is likely that there is a typo in the code, or the call can be removed. PiperOrigin-RevId: 560803581 Change-Id: Icd6f218be2cfb7226f8ab6b2d97cd960c0d3d72f
* PR #1520: Make use of C++20 feature test macros to bestow better compatibilityGravatar Yuriy Chernyshov2023-08-21
| | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1520 Fixes #1519 and removes the burden of manually feature testing all the platforms supported by absl. Merge 26bc4ee13a93edaeee2a21b5eff3569b806acc91 into 94b37802217a9c9bb182bd99d55096683ef45b2c Merging this change closes #1520 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1520 from georgthegreat:feature-test-macros 26bc4ee13a93edaeee2a21b5eff3569b806acc91 PiperOrigin-RevId: 558777775 Change-Id: Ie3e1f309761c67fa233a03e42762776cd93c69b4
* PR #1509: Allow building when targeting WASIGravatar Anuraag Agrawal2023-08-15
| | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1509 WASI is similar to emscripten, providing a syscall layer to WebAssembly focused on server side applications. There are some config knobs that are in place to allow building the repo for emscripten which also need to support wasi (as built with LLVM). Aside from that, there are still some features it supports less than escripten, for example related to signals, causing the build to be even more limited for it. Merge ec9fa081609687035005dfdafd312754f31c3fbb into 861e53c8f075c8c4d67bd4c82217c57239fc97cf Merging this change closes #1509 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1509 from anuraaga:wasi-sdk-build ec9fa081609687035005dfdafd312754f31c3fbb PiperOrigin-RevId: 557166498 Change-Id: Ic51149d8b092fd888c9a5c383275257fc8ff4232
* Always inline prefetches.Gravatar Hannah Lin2023-08-14
| | | | | PiperOrigin-RevId: 556914455 Change-Id: Ic0169e1099384eefe285e6d354e448eb5189e397
* Use the supported method for detecting RTTI in Clang:Gravatar Derek Mauro2023-08-10
| | | | | | | ABSL_HAVE_FEATURE(cxx_rtti) PiperOrigin-RevId: 555495363 Change-Id: I4f38bbffe1195ebdf26d7ed3bc92bc865dc8dd17
* Release the `DFATAL` pseudo-LogSeverity levelGravatar Derek Mauro2023-08-04
| | | | | | | | | | `DFATAL` is defined as `FATAL` in debug mode, and as `ERROR` when `NDEBUG` is defined. Closes #1279 PiperOrigin-RevId: 553904244 Change-Id: Iaa207ee65b2a39b4b7f5da241208c3d39cd5da0e
* PR #1500: Define MAP_ANONYMOUS if not definedGravatar Ryan Schmidt2023-08-01
| | | | | | | | | | | | Included are additional automated edits by clang-format on import. Merge d74896699faacc4a1667603e52e72cbdc8006cf6 into 22091f4c0d6626b3ef40446ce3d4ccab19425ca3 Merging this change closes #1500 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1500 from ryandesign:MAP_ANONYMOUS d74896699faacc4a1667603e52e72cbdc8006cf6 PiperOrigin-RevId: 552922776 Change-Id: I96a0395cb5e7156d7c7a889491c5d0b4cf755819
* InlinedVector: Fix control-flow-inregrity warning when using a classGravatar Derek Mauro2023-07-25
| | | | | | | | | | | | | | | | with a vtable The code is getting the pointer, then constructing it on the next line. Using reinterpret_cast on this pointer is legal according to https://clang.llvm.org/docs/ControlFlowIntegrity.html#bad-cast-checking, but it flags it anyway. The docs say it might be necessary for `allocate()`-type APIs, and recommends adding them to an ignorelist. Also note that std::addressof is removed. It is unnecessary since inlined_data is a char-array. PiperOrigin-RevId: 550972834 Change-Id: Ib224cec330bb6bcb770296de6c91881f404ef531
* Add Support for mmap on Qualcomm Hexagon DSP targets.Gravatar Abseil Team2023-07-17
| | | | | PiperOrigin-RevId: 548709037 Change-Id: I6eb03553299265660aa0abc180ae0f197a416ba4
* Use new emscripten_errn to avoid copying strings.Gravatar Abseil Team2023-07-13
| | | | | PiperOrigin-RevId: 547895328 Change-Id: If5da952604415fa6ed2402052f80add6c4b7dfb3
* Fix a typo of absl::Nonnull in the example comment.Gravatar Abseil Team2023-07-10
| | | | | PiperOrigin-RevId: 546897533 Change-Id: I3ad12f252c49e4672a64d00d0107111fdc5b6ac8
* 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
* 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
* Rolls back use of emscripten_errn as some implementations may not be compatible.Gravatar Abseil Team2023-06-30
| | | | | PiperOrigin-RevId: 544677169 Change-Id: I98874c5c8d1c9a057958b63e2b3c4fdd5daccd39
* Use new emscripten_errn to avoid copying strings.Gravatar Abseil Team2023-06-29
| | | | | PiperOrigin-RevId: 544461113 Change-Id: Iafbd6daf2d03ae18a49ea449315ee7cd6a0e615e
* Support Qualcomm Hexagon DSP targets.Gravatar Abseil Team2023-06-29
| | | | | PiperOrigin-RevId: 544438364 Change-Id: I22d461f2d0aa8638a0e640eebecdc7e5e2b49ea3
* Wrap the Emscripten version macros into an (internal) macro blob for easier ↵Gravatar Andy Getzendanner2023-06-28
| | | | | | | comparison. PiperOrigin-RevId: 544197983 Change-Id: I7eb39563e696d6561ad193d4d25b4161eb6419ae
* 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
* 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
* 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
* 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
* Merge pull request #1475 from anpol:placement-new-array-needs-more-spaceGravatar Copybara-Service2023-06-12
|\ | | | | | | | | PiperOrigin-RevId: 539747818 Change-Id: Ia0ab0fdda0ffe9b23d83d55c899f301df20b1179
* | 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
* 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
* Merge pull request #1471 from wenshan1:blan-add-VxWorks-supportGravatar Copybara-Service2023-06-08
|\ | | | | | | | | PiperOrigin-RevId: 538778978 Change-Id: I0c04b09987eb4d97892825e3c994656d4e300f60
| * Add VxWorks supportGravatar Bin Lan2023-06-08
| |
* | Merge pull request #1458 from juergbi:aixGravatar Copybara-Service2023-06-07
|\ \ | |/ |/| | | | | PiperOrigin-RevId: 538488164 Change-Id: I680dcbc2f27dca3beba416b3cd0a55943751cf4c
* | Switch from perror to ABSL_INTERNAL_LOG.Gravatar Abseil Team2023-05-31
| | | | | | | | | | | | | | Motivation is for WebAssembly to avoid perror which in turn requires file system emulation. PiperOrigin-RevId: 536737294 Change-Id: I5177064c9451fb630ec5e9d0c0a0679fabd98afa
* | Implement a better GetTID on Apple platforms, and a better fallback too.Gravatar Andy Getzendanner2023-05-25
| | | | | | | | | | | | | | 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
* | Note that AsyncSignalSafeWriteToStderr preserves errno, and inline one use ↵Gravatar Andy Getzendanner2023-05-25
| | | | | | | | | | | | | | of it into a lambda. PiperOrigin-RevId: 535245982 Change-Id: I816f60c8b6476536df6836500f01c9a3ad88ddd4
* | fill ABSL_INTERNAL_(DISABLE|RESTORE)_DEPRECATED_DECLARATION_WARNING macro ↵Gravatar Abseil Team2023-05-24
| | | | | | | | | | | | | | for clang PiperOrigin-RevId: 534824761 Change-Id: I0ab78fcb211bc5df756fb581761ed8febc3d18fd
| * absl/base: Fix build on AIXGravatar Jürg Billeter2023-05-24
|/ | | | | | | | The AIX assembler doesn't support numeric labels. Use a relative jump instead to fix Assembler: /tmp/ccw16WCt.s: line 25: Error In Syntax
* Add compiler deprecation warnings for absl::ConvertDateTime() and ↵Gravatar Derek Mauro2023-05-17
| | | | | | | | | | | | | | 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
* Merge pull request #1434 from Vertexwahn:fix-spellingGravatar Copybara-Service2023-04-25
|\ | | | | | | | | PiperOrigin-RevId: 527066823 Change-Id: Ifa1e9a43c7490b34f9f4dbfa12d3acbed6b49777
| * Fix some spelling mistakesGravatar Vertexwahn2023-04-24
|/
* Unify std type detection now that older compilers are no longer supportedGravatar Derek Mauro2023-04-19
| | | | | PiperOrigin-RevId: 525462751 Change-Id: Ibd6202cb95e79a48a6b39ccc4b74ead04128eb91
* Add ABSL_RAW_DLOG and ABSL_RAW_DCHECK macrosGravatar Martijn Vels2023-04-18
| | | | | PiperOrigin-RevId: 525241200 Change-Id: I8d1536cb813da8b80a978340343b0243a49928f7