aboutsummaryrefslogtreecommitdiff
path: root/absl/base
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #1471 from wenshan1:blan-add-VxWorks-supportCopybara-Service2023-06-081-4/+5
|\ | | | | | | | | PiperOrigin-RevId: 538778978 Change-Id: I0c04b09987eb4d97892825e3c994656d4e300f60
| * Add VxWorks supportBin Lan2023-06-081-4/+5
| |
* | Merge pull request #1458 from juergbi:aixCopybara-Service2023-06-071-3/+2
|\ \ | |/ |/| | | | | PiperOrigin-RevId: 538488164 Change-Id: I680dcbc2f27dca3beba416b3cd0a55943751cf4c
| * absl/base: Fix build on AIXJürg Billeter2023-05-241-2/+1
| | | | | | | | | | | | | | | | The AIX assembler doesn't support numeric labels. Use a relative jump instead to fix Assembler: /tmp/ccw16WCt.s: line 25: Error In Syntax
* | Switch from perror to ABSL_INTERNAL_LOG.Abseil Team2023-05-311-2/+3
| | | | | | | | | | | | | | 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.Andy Getzendanner2023-05-251-71/+13
| | | | | | | | | | | | | | 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 ↵Andy Getzendanner2023-05-251-1/+1
| | | | | | | | | | | | | | of it into a lambda. PiperOrigin-RevId: 535245982 Change-Id: I816f60c8b6476536df6836500f01c9a3ad88ddd4
* | fill ABSL_INTERNAL_(DISABLE|RESTORE)_DEPRECATED_DECLARATION_WARNING macro ↵Abseil Team2023-05-241-2/+2
|/ | | | | | | for clang PiperOrigin-RevId: 534824761 Change-Id: I0ab78fcb211bc5df756fb581761ed8febc3d18fd
* Add compiler deprecation warnings for absl::ConvertDateTime() and ↵Derek Mauro2023-05-171-0/+22
| | | | | | | | | | | | | | 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-spellingCopybara-Service2023-04-253-4/+4
|\ | | | | | | | | PiperOrigin-RevId: 527066823 Change-Id: Ifa1e9a43c7490b34f9f4dbfa12d3acbed6b49777
| * Fix some spelling mistakesVertexwahn2023-04-243-3/+3
|/
* Unify std type detection now that older compilers are no longer supportedDerek Mauro2023-04-191-40/+11
| | | | | PiperOrigin-RevId: 525462751 Change-Id: Ibd6202cb95e79a48a6b39ccc4b74ead04128eb91
* Add ABSL_RAW_DLOG and ABSL_RAW_DCHECK macrosMartijn Vels2023-04-181-0/+14
| | | | | PiperOrigin-RevId: 525241200 Change-Id: I8d1536cb813da8b80a978340343b0243a49928f7
* Replace absl::type_traits_internal::is_trivially_copyable withDerek Mauro2023-04-121-8/+8
| | | | | | | std::is_trivially_copyable PiperOrigin-RevId: 523724345 Change-Id: Id68c79c3bbb253d892bdef4659ac8a926e023d12
* Name anonymous memory allocations on Linux.Abseil Team2023-04-121-0/+16
| | | | | | | | | | | | | | | | | | | 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
* Extend ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS to support HWASANAbseil Team2023-04-101-2/+11
| | | | | PiperOrigin-RevId: 523220096 Change-Id: Iaffea2c9c4d112839ca8c2c7f130f72c3d7cc35b
* Raise the MSVC floor to MSVC 2019 (16.0) in accordance withDerek Mauro2023-04-031-3/+3
| | | | | | | https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md PiperOrigin-RevId: 521573177 Change-Id: I1f12ddbd8516314ee2ed7f8ba6a6895b03c6c270
* Make `ABSL_ATTRIBUTE_NO_UNIQUE_ADDRESS` work on MSVCDerek Mauro2023-03-231-1/+9
| | | | | | | | | | | | 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
* Add an implementation of Waiter that uses std::mutex/std::condition_variableDerek Mauro2023-03-211-1/+1
| | | | | | | | | | | | | | | 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
* Add `ABSL_UNREACHABLE()` to `ABSL_RAW_LOG` when severity is `FATAL`Wiktor Garbacz2023-03-201-2/+8
| | | | | | | Also makes `ABSL_INTERNAL_LOG(LEVEL(x), "oops")` not call unreachable (even when x == kFatal) for consistency. PiperOrigin-RevId: 517894304 Change-Id: I798b1032d126330ace1e2b48edd8fc547a2ad2f8
* Define ABSL_HAVE_DATAFLOW_SANITIZERDave MacLachlan2023-03-161-1/+15
| | | | | PiperOrigin-RevId: 517142676 Change-Id: If50a1bf5f92da166d6b4923110ec8b25446b6b11
* Avoid uninitialized value in call_once implementation.Henner Zeller2023-03-151-1/+1
| | | | | | | | | | | | | 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
* Add ABSL_ATTRIBUTE_NO_UNIQUE_ADDRESS helper.Chris Kennelly2023-03-131-0/+14
| | | | | PiperOrigin-RevId: 516245113 Change-Id: Idaef538c9392decbfdeb3ed3b3c109c795f92f4d
* Add note about using `CurrentThreadIdentityIfPresent()` on darwin based ↵Dave MacLachlan2023-03-091-1/+4
| | | | | | | platforms. PiperOrigin-RevId: 515353041 Change-Id: I2c88022d50a3351f70d09a2d63020470889752d9
* Delete the `Throw()` function from `absl::base_internal`.Devin Jeanpierre2023-03-011-32/+23
| | | | | | | 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
* Fix //absl/{base,debugging:symbolize} build with MingwAbseil Team2023-02-281-0/+4
| | | | | PiperOrigin-RevId: 512974770 Change-Id: If7a8128996d2a73ac566faaa676ddd3858d51af6
* Remove backfills of some type traits that are now fully supportedDerek Mauro2023-02-271-26/+9
| | | | | PiperOrigin-RevId: 512622121 Change-Id: If90aaf7939062bd475253c372d9d7950c98c7150
* Update the predicate for `ABSL_INTERNAL_HAS_RTTI` for Windows builds.Abseil Team2023-02-241-1/+3
| | | | | | | | | | | | | | | | | | | 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
* Prefer C++ notation over CRose2023-02-162-2/+2
| | | | nullptr instead of 0 and nothing instead of void for function arguments is preferred.
* Remove _m_prefetchw() in favor of supporting only _mm_prefetch() or ↵Martijn Vels2023-02-141-5/+0
| | | | | | | | | __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
* Merge pull request #1381 from trishvl:masterCopybara-Service2023-02-131-2/+4
|\ | | | | | | | | PiperOrigin-RevId: 509299527 Change-Id: I2f9a801faf87f968f1625711a67d38a528f0740c
| * Solving issue with implied SSE when running ARM64ECTrish Lam2023-02-061-2/+2
|/
* `PrefetchToLocalCacheForWrite` should use `__builtin_prefetch(<addr>, 1, 3)` ↵Abseil Team2023-02-031-2/+2
| | | | | | | not `__builtin_prefetch<addr>, 1, 0)` PiperOrigin-RevId: 507015724 Change-Id: I99f44fe819c27e6dcc0bb7b36f1a37015c6f1987
* Replace absl::base_internal::Prefetch* calls with absl::Prefetch* callsMartijn Vels2023-01-274-22/+32
| | | | | PiperOrigin-RevId: 505184961 Change-Id: I64482558a76abda6896bec4b2d323833b6cd7edf
* Introduce Abseil Prefetch APIMartijn Vels2023-01-264-9/+271
| | | | | PiperOrigin-RevId: 504941246 Change-Id: I94c1e85afd254e84948477b511d41eeb8285fdae
* Separate DLL export/import for test helpers dll, and fix typo.Mike Kruskal2023-01-251-0/+12
| | | | | | | 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
* Add absl::is_constant_evaluated for pre-c++20 supportMartijn Vels2023-01-201-0/+11
| | | | | PiperOrigin-RevId: 503437019 Change-Id: I3630fec690f1472130fef21b16dfcd3c5208aa69
* Update the Abseil minumum GCC version to GCC 7, which isDerek Mauro2023-01-191-3/+3
| | | | | | | | 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
* Rollback of PR #1349: direct_mmap: Use off_t on linux...Abseil Team2023-01-101-2/+3
| | | | | PiperOrigin-RevId: 501014555 Change-Id: Ie204d307a4e537935a04c0f23bb13532e3c84bc8
* Merge pull request #1349 from kraj:remove-off64_tCopybara-Service2023-01-061-3/+2
|\ | | | | | | | | PiperOrigin-RevId: 500300819 Change-Id: Iacff97071d158843d687c811b0d78d4ddeba9039
| * direct_mmap: Use off_t on linuxKhem Raj2022-12-281-2/+2
| | | | | | | | | | | | | | | | | | | | 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>
* | Remove ABSL_INTERNAL_UNREACHABLEDerek Mauro2023-01-041-3/+0
|/ | | | | | | This is now available as the public symbol ABSL_UNREACHABLE(). PiperOrigin-RevId: 499578459 Change-Id: Ib36c1826eb733271a6b02e81d6c3d088b255180a
* Add a comment about the layout of the fields in ThreadIdentityAbseil Team2022-12-281-0/+4
| | | | | PiperOrigin-RevId: 498179140 Change-Id: Ie18b68e6313817b4f41fec6b10dd878436431730
* Replace ABSL_INTERNAL_UNREACHABLE with ABSL_UNREACHABLE()Derek Mauro2022-12-221-1/+1
| | | | | PiperOrigin-RevId: 497197704 Change-Id: I3865a874e04f6f55a1ab374b03451535a86bc5a3
* Add a NOLINT to ABSL_UNREACHABLE() to disable the clang-tidy warningDerek Mauro2022-12-221-0/+1
| | | | | | | that the assert can be a static_assert PiperOrigin-RevId: 497161039 Change-Id: If714cb25ca1d9481ada94b3b5b4cb16a4dd4e85a
* Adds ABSL_UNREACHABLE(), a public symbol to replace ABSL_INTERNAL_UNREACHABLEDerek Mauro2022-12-212-24/+61
| | | | | | | | | | | 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
* Tagged most functions in absl/time/time.h as ABSL_ATTRIBUTE_CONST_FUNCTION ↵Abseil Team2022-12-201-19/+2
| | | | | | | | | or ABSL_ATTRIBUTE_PURE_FUNCTION However, both absl_attributes are now unimplemented to avoid breaking existing users. PiperOrigin-RevId: 496769399 Change-Id: I9c00cb60b885526300d744f9ea7c0f2178f092bb
* Fix throw_delegate_test when using libc++ with shared librariesDerek Mauro2022-11-101-1/+15
| | | | | PiperOrigin-RevId: 487707178 Change-Id: Ie8f57a6327a6460ab37566b8b6f56d470f6dd2dc
* Refactor the throw_delegate test into separate test casesDerek Mauro2022-11-101-2/+56
| | | | | PiperOrigin-RevId: 487592054 Change-Id: Iff24f6e2a304fbc85843f10417fc3343c41333da
* Enforce Visual Studio 2017 (MSVC++ 15.0) minumumDerek Mauro2022-10-261-3/+3
| | | | | PiperOrigin-RevId: 483972593 Change-Id: I5358871cdf825bbfae65bf9f5872c4fd56005fb7