summaryrefslogtreecommitdiff
path: root/absl/base
Commit message (Collapse)AuthorAge
...
* Prefer C++ notation over CGravatar Rose2023-02-16
| | | | 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 ↵Gravatar Martijn Vels2023-02-14
| | | | | | | | | __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:masterGravatar Copybara-Service2023-02-13
|\ | | | | | | | | PiperOrigin-RevId: 509299527 Change-Id: I2f9a801faf87f968f1625711a67d38a528f0740c
| * Solving issue with implied SSE when running ARM64ECGravatar Trish Lam2023-02-06
|/
* `PrefetchToLocalCacheForWrite` should use `__builtin_prefetch(<addr>, 1, 3)` ↵Gravatar Abseil Team2023-02-03
| | | | | | | not `__builtin_prefetch<addr>, 1, 0)` PiperOrigin-RevId: 507015724 Change-Id: I99f44fe819c27e6dcc0bb7b36f1a37015c6f1987
* Replace absl::base_internal::Prefetch* calls with absl::Prefetch* callsGravatar Martijn Vels2023-01-27
| | | | | PiperOrigin-RevId: 505184961 Change-Id: I64482558a76abda6896bec4b2d323833b6cd7edf
* Introduce Abseil Prefetch APIGravatar Martijn Vels2023-01-26
| | | | | PiperOrigin-RevId: 504941246 Change-Id: I94c1e85afd254e84948477b511d41eeb8285fdae
* Separate DLL export/import for test helpers dll, and fix typo.Gravatar Mike Kruskal2023-01-25
| | | | | | | 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 supportGravatar Martijn Vels2023-01-20
| | | | | PiperOrigin-RevId: 503437019 Change-Id: I3630fec690f1472130fef21b16dfcd3c5208aa69
* Update the Abseil minumum GCC version to GCC 7, which isGravatar Derek Mauro2023-01-19
| | | | | | | | 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...Gravatar Abseil Team2023-01-10
| | | | | PiperOrigin-RevId: 501014555 Change-Id: Ie204d307a4e537935a04c0f23bb13532e3c84bc8
* Merge pull request #1349 from kraj:remove-off64_tGravatar Copybara-Service2023-01-06
|\ | | | | | | | | PiperOrigin-RevId: 500300819 Change-Id: Iacff97071d158843d687c811b0d78d4ddeba9039
* | Remove ABSL_INTERNAL_UNREACHABLEGravatar Derek Mauro2023-01-04
| | | | | | | | | | | | | | This is now available as the public symbol ABSL_UNREACHABLE(). PiperOrigin-RevId: 499578459 Change-Id: Ib36c1826eb733271a6b02e81d6c3d088b255180a
| * direct_mmap: Use off_t on linuxGravatar Khem Raj2022-12-28
|/ | | | | | | | | | 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>
* Add a comment about the layout of the fields in ThreadIdentityGravatar Abseil Team2022-12-28
| | | | | PiperOrigin-RevId: 498179140 Change-Id: Ie18b68e6313817b4f41fec6b10dd878436431730
* Replace ABSL_INTERNAL_UNREACHABLE with ABSL_UNREACHABLE()Gravatar Derek Mauro2022-12-22
| | | | | PiperOrigin-RevId: 497197704 Change-Id: I3865a874e04f6f55a1ab374b03451535a86bc5a3
* Add a NOLINT to ABSL_UNREACHABLE() to disable the clang-tidy warningGravatar Derek Mauro2022-12-22
| | | | | | | that the assert can be a static_assert PiperOrigin-RevId: 497161039 Change-Id: If714cb25ca1d9481ada94b3b5b4cb16a4dd4e85a
* Adds ABSL_UNREACHABLE(), a public symbol to replace ABSL_INTERNAL_UNREACHABLEGravatar Derek Mauro2022-12-21
| | | | | | | | | | | 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 ↵Gravatar Abseil Team2022-12-20
| | | | | | | | | 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 librariesGravatar Derek Mauro2022-11-10
| | | | | PiperOrigin-RevId: 487707178 Change-Id: Ie8f57a6327a6460ab37566b8b6f56d470f6dd2dc
* Refactor the throw_delegate test into separate test casesGravatar Derek Mauro2022-11-10
| | | | | PiperOrigin-RevId: 487592054 Change-Id: Iff24f6e2a304fbc85843f10417fc3343c41333da
* Enforce Visual Studio 2017 (MSVC++ 15.0) minumumGravatar Derek Mauro2022-10-26
| | | | | PiperOrigin-RevId: 483972593 Change-Id: I5358871cdf825bbfae65bf9f5872c4fd56005fb7
* Use the `-l` form for MinGW-specific link dependenciesGravatar Russell Johnston2022-10-15
| | | | | This corrects the generated .pc files, so these libs match the other libs already included there.
* Configure ABSL_CACHE_ALIGNED for clang-like and MSVC toolchains.Gravatar Abseil Team2022-10-07
| | | | | PiperOrigin-RevId: 479614832 Change-Id: I440d145172c93cc4043aeda36898877a331ed5ff
* Merge pull request #1289 from keith:ks/fix-more-clang-deprecated-builtinsGravatar Copybara-Service2022-10-06
|\ | | | | | | | | PiperOrigin-RevId: 479321649 Change-Id: Icc3eba76fc17272fb1e9b1da2216394971a3d3ae
| * Fix more clang deprecated builtinsGravatar Keith Smiley2022-10-04
|/ | | | | | | | | 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
* Removes the legacy spellings of the thread annotation macros/functionsGravatar Derek Mauro2022-10-03
| | | | | | | | | | | | | | | | 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
* `absl::base_internal::ReadLongFromFile` should use `O_CLOEXEC` and handle ↵Gravatar Abseil Team2022-09-28
| | | | | | | interrupts to `read` PiperOrigin-RevId: 477547252 Change-Id: Icc94290511b5071d15584d59dcd9cf6ad7319e2b
* Split configuration related to cycle clock into separate headersGravatar Abseil Team2022-09-26
| | | | | PiperOrigin-RevId: 477043101 Change-Id: I009ea39ad61e7e78cdac51afc57a8ad5b4d8aa2d
* Change the macro ABSL_IS_TRIVIALLY_RELOCATABLE into a type trait - ↵Gravatar Evan Brown2022-09-20
| | | | | | | | | | | | | | | | | | | | | | 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
* Fix "unsafe narrowing" warnings in absl, 8/n.Gravatar Abseil Team2022-09-12
| | | | | | | | | | | | | | | 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
* Fix "unsafe narrowing" warnings in absl, 10/n.Gravatar Abseil Team2022-09-08
| | | | | | | | | | | | | | | 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
* Rollback of fix "unsafe narrowing" warnings in absl, 8/n.Gravatar Derek Mauro2022-09-01
| | | | | | | | | | | | | | | 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
* Fix "unsafe narrowing" warnings in absl, 8/n.Gravatar Abseil Team2022-09-01
| | | | | | | | | | | | | | | 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
* Fixed header guards to match style guide conventions.Gravatar Abseil Team2022-08-31
| | | | | PiperOrigin-RevId: 471292183 Change-Id: Ic124d671dd3b0ae819f741885abb046cbf7e1add
* spinlock.h: Clean up includesGravatar Abseil Team2022-08-24
| | | | | | | | 1. Removes unused includes 2. Replaces <stdint.h> with <cstdint> PiperOrigin-RevId: 469705016 Change-Id: Ic32871be93d01436f5538c44321faad7bd2e4511
* Don't try to enable use of ARM NEON intrinsics when compiling in CUDA device ↵Gravatar Abseil Team2022-08-17
| | | | | | | mode. They are not available in that configuration, even if the host supports them. PiperOrigin-RevId: 468232254 Change-Id: I1cd26eda2962778b62135a31f477928c3bde1124
* Delete #include.Gravatar Kim Hyun2022-08-11
| | | Delete deprecated header include
* - Fix deprecated header in visual studio version 17.3.0 C++20Gravatar Hyun2022-08-10
|
* Disable ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE for clang-cl.Gravatar Abseil Team2022-08-05
| | | | | | | | | The Lexan and MSVC toolchains both set _MSC_VER. The MSVC toolchain must set `ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE` and `ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE`, in order to use Abseil workarounds in the absence of these types. This is not necessary for clang-cl. This change excludes clang-cl from the predicate setting these variables. PiperOrigin-RevId: 465589196 Change-Id: I0426ec4f844aabe7cdde5c60725f6a9a6b16479f
* Map the absl::is_trivially_* functions to their std implGravatar Abseil Team2022-08-05
| | | | | | | There's no point redefining these functions if they are supported by the compiler and the version of libstdc++. Also, some of the builtins used by the absl implementation of these functions (e.g. __has_trivial_destructor) have been deprecated in Clang 15. PiperOrigin-RevId: 465554125 Change-Id: I8674c3a5270ce3c654cdf58ae7dbd9d2bda8faa5
* Fix "unsafe narrowing" warnings in absl, 2/n.Gravatar Abseil Team2022-08-01
| | | | | | | | | | | | | | | 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 dirs a-h.) Bug: chromium:1292951 PiperOrigin-RevId: 464541951 Change-Id: If23b63ccea8e9b730159ff1c7288e9300a40b6bd
* Fix "unsafe narrowing" warnings in absl, 1/n.Gravatar Abseil Team2022-07-28
| | | | | | | | | | | | | | | 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 .h and win32 .inc files.) Bug: chromium:1292951 PiperOrigin-RevId: 463835431 Change-Id: If8e5f7f651d5cd96035e23e4623bdb08a7fedabe
* Add ABSL_IS_TRIVIALLY_RELOCATABLE and ABSL_ATTRIBUTE_TRIVIAL_ABI macros for ↵Gravatar Evan Brown2022-07-27
| | | | | | | use with clang's __is_trivially_relocatable and [[clang::trivial_abi]]. PiperOrigin-RevId: 463668740 Change-Id: I2d2d2f53d8184a7e4f7c848c2a5f5140c2481d72
* Renamespace absl::raw_logging_internal to absl::raw_log_internal to match ↵Gravatar Andy Getzendanner2022-07-20
| | | | | | | (upcoming) non-raw logging namespace. PiperOrigin-RevId: 462213222 Change-Id: I3b9371097b368d55cc86b6106d6dec24ce122762
* Move Abseil to C++14 minimumGravatar Derek Mauro2022-07-06
| | | | | | | | | | Adds policy checks the raise the minimum C++ version to C++14 and the minimum GCC version to GCC 5 Updates the docs to indicate the C++14 minimum. PiperOrigin-RevId: 459401288 Change-Id: I18878f0e13001c57e97e26ad7c9a9c9c12c39265
* PR #1197: absl/base/internal/direct_mmap.h: fix musl build on mipsGravatar Fabrice Fontaine2022-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1197 Fix the following musl build failure on mips: ``` In file included from /nvmedata/autobuild/instance-15/output-1/build/libabseil-cpp-20211102.0/absl/base/internal/low_level_alloc.cc:26: /nvmedata/autobuild/instance-15/output-1/build/libabseil-cpp-20211102.0/absl/base/internal/direct_mmap.h:49:10: fatal error: sgidefs.h: No such file or directory 49 | #include <sgidefs.h> | ^~~~~~~~~~~ ``` Fixes: - http://autobuild.buildroot.org/results/3fa027e602bacb22316fb5d9b233baa0b0f0e845 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Merge c9b5b5c5471213a871f7d6d1d2fc8f6899effbac into a184bab83ffcffc2aaac49a3900361158ab3890f Merging this change closes #1197 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1197 from ffontaine:master c9b5b5c5471213a871f7d6d1d2fc8f6899effbac PiperOrigin-RevId: 455467767 Change-Id: I1905f7d70e914288bc1524a52adce3476a779fd8
* absl/base/internal/invoke: Ignore bogus warnings on GCC >= 11Gravatar Dino Radakovic2022-06-16
| | | | | PiperOrigin-RevId: 455463553 Change-Id: Ifa6c238556339dd4e36715ac040ca048f2f84a9a
* Reformulate documentation of ABSL_LOCKS_EXCLUDED.Gravatar Abseil Team2022-06-10
| | | | | | | The intent of the macro is to say what locks cannot be held when calling the method, not making a promise that they will be acquired. PiperOrigin-RevId: 454158686 Change-Id: I71087460c3df27c7d6e0571156f19f525024f1de
* absl/base/internal/invoke.h: Use ABSL_INTERNAL_CPLUSPLUS_LANG for language ↵Gravatar Dino Radakovic2022-06-09
| | | | | | | version guard PiperOrigin-RevId: 453970585 Change-Id: Iac23eb88ea676efc822f001020b1cc2c255dbbc1