summaryrefslogtreecommitdiff
path: root/absl
Commit message (Collapse)AuthorAge
* Use HTTPS RFC URLs, which work regardless of the browser's locale.Gravatar Abseil Team2022-07-18
| | | | | PiperOrigin-RevId: 461737981 Change-Id: Iefb1d703725f0a258b5ee315c55277b261b75418
* Avoid signedness change when casting off_tGravatar Benjamin Barenblat2022-07-18
| | | | | | | | | | | Some ABSL_RAW_LOG statements print off_t values by casting them to uintmax_t. However, POSIX says off_t is signed [1], so intmax_t is more appropriate. Replace casts and format specifiers as needed. [1] https://pubs.opengroup.org/onlinepubs/009696899/basedefs/sys/types.h.html#:~:text=off_t%20shall,%20types%2e PiperOrigin-RevId: 461684406 Change-Id: I09ec1a3ba49cd688670618797943a84bc48dba3e
* Internal Cleanup: removing unused internal function declaration.Gravatar Martijn Vels2022-07-18
| | | | | PiperOrigin-RevId: 461616203 Change-Id: I4cf2e0738451a0471bb8341d9af003d271331fab
* Make Span complain if constructed with a parameter that won't outlive it, ↵Gravatar Abseil Team2022-07-18
| | | | | | | except if that parameter is also a span or appears to be a view type. PiperOrigin-RevId: 461612357 Change-Id: Ibba36f44465176db47dd21e1866134549143fa64
* any_invocable_test: Re-enable the two conversion tests that used to fail ↵Gravatar Dino Radakovic2022-07-15
| | | | | | | under MSVC PiperOrigin-RevId: 461238101 Change-Id: Id3edac104ecd9edd9daf8012894a62692bd9569f
* Add GetCustomAppendBuffer method to absl::CordGravatar Martijn Vels2022-07-15
| | | | | | | | | The Cord::GetCustomAppendBuffer() method provides the same functionality as Cord::GetAppendBuffer(), except that callers can specify a custom block size/limit if the method returns a newly allocated buffer. In other words: Cord::GetAppendBuffer() defaults to CordBuffer::CreateWithDefaultLimit(), Cord::GetCustomAppendBuffer() defaults to CordBuffer::CreateWithCustomLimit(). PiperOrigin-RevId: 461231989 Change-Id: I5c03f31139d9b068feee1bea76d59e1c5e30ef07
* debugging: add hooks for checking stack rangesGravatar Saleem Abdulrasool2022-07-14
| | | | | | | Add a hook to permit checking whether an address is in bounds for the stack. PiperOrigin-RevId: 460997074 Change-Id: Ib3b4d0cf656e614aa083457abb079c40ef8db0ff
* Minor clang-tidy cleanupsGravatar Abseil Team2022-07-14
| | | | | | | | | using decl 'Pointee' is unused missing #include <utility> for 'std::move' missing #include <memory> for 'std::unique_ptr' PiperOrigin-RevId: 460980847 Change-Id: I5ebfca39d6b93ef396b32d1b91a5d8748d43e018
* Support [[gnu::abi_tag("xyz")]] demangling.Gravatar Abseil Team2022-07-13
| | | | | PiperOrigin-RevId: 460752575 Change-Id: I9629504b5c63dbfe367cd55e287a782cd8fa546c
* Fix -Warray-parameter warningGravatar Abseil Team2022-07-13
| | | | | | | | | | Clang recently added this warning which flags inconsistencies between array parameters in function declarations. See https://crbug.com/1343303 PiperOrigin-RevId: 460725261 Change-Id: I57b1e99f13698c947e948c6024e3f6f4642ea189
* Merge pull request #1217 from anpol:macos-sigaltstackGravatar Copybara-Service2022-07-13
|\ | | | | | | | | PiperOrigin-RevId: 460713135 Change-Id: If7ea94f409edc1e4024d7eaa4ae025b0b258fc02
| * Disable sigaltstack() on macOS to make backtrace() work.Gravatar Andrei Polushin2022-07-13
|/ | | | | | | | | | | There are many reports that sigaltstack() on Apple platforms stops backtrace() from tracing an original stack, e.g. * https://github.com/llvm/llvm-project/commit/d39ead41056b00d10b6223543562cd304307ac9b * https://reviews.llvm.org/D28265 If we disable an alternate stack for signal handler, we won't be able to catch stack overflow errors, but backrace() will work again.
* Undo documentation change on erase.Gravatar Abseil Team2022-07-12
| | | | | PiperOrigin-RevId: 460555564 Change-Id: Icaf08bd252be12717f922e72a70a201bc1957154
* Improve documentation on erase.Gravatar Abseil Team2022-07-12
| | | | | PiperOrigin-RevId: 460509198 Change-Id: I6d85443cc3f568230f3a3d46b63358129654ddb9
* string_view: conditional constexpr is no longer needed for C++14Gravatar Derek Mauro2022-07-12
| | | | | PiperOrigin-RevId: 460407142 Change-Id: I9501d2e79cf8c20c5261ab0169bd4bbc3b02980c
* Make exponential_distribution_test a bigger test (timeout small -> moderate).Gravatar Abseil Team2022-07-07
| | | | | | | | | | | This test indicates it has a 90% chance of timing out at its current 60 second limit. Stats over 1000 runs: max = 102.5s, min = 40.4s, avg = 71.1s, dev = 11.2s Note that if you run this test locally from a workstation without flags, it'll take maybe 3 to 5 seconds. However, the test is run with config of android_arm, which seems to drastically change the execution time. PiperOrigin-RevId: 459503103 Change-Id: I7b7aaa2db7880370f47d1a83d295a3234f738a18
* 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
* Revert commit f4988f5bd4176345aad2a525e24d5fd11b3c97eaGravatar Saleem Abdulrasool2022-07-06
| | | | | | | | This seems to have caused some regressions by causing a flaky failure in some cases. Revert the change to enable investigation. PiperOrigin-RevId: 459331687 Change-Id: Iaa4e4bfcb3013a75a2cd72768d980ac5e450f70c
* debugging: account for differences in alternate signal stacksGravatar Saleem Abdulrasool2022-06-30
| | | | | | | | | | | | | The alternate signal stack may be sufficiently beyond the esimated frame size (100k). If we run into the case that the frame is not in the correct direction assume that the frames may be non-contiguous due to an alternate signal stack layout. In such a case, if we find that there is an alternate stack configured, ignore the discontiuity (assuming that it is a removable point-wise discontinuity) and continue the stack unwinding. This permits us to capture stack traces in more cases. PiperOrigin-RevId: 458327775 Change-Id: Ia8b461847401492f72a23ba26601c72e0109402c
* Import of CCTZ from GitHub.Gravatar Abseil Team2022-06-29
| | | | | PiperOrigin-RevId: 457997580 Change-Id: I39d007d4f93c02e07ad660df13d9f63e786182f8
* Run flaky test in fewer configurationsGravatar Abseil Team2022-06-25
| | | | | PiperOrigin-RevId: 457234764 Change-Id: I7d543bc8e4e01d7739f1a3a2cf602ed3e1ea84d3
* AnyInvocable: Move credits to the top of the fileGravatar Dino Radakovic2022-06-24
| | | | | PiperOrigin-RevId: 457014105 Change-Id: I4ecd4185385a213838c6f3241b65536b1f833705
* Extend visibility of :examine_stack to an upcoming Abseil Log.Gravatar Gennadiy Rozental2022-06-24
| | | | | PiperOrigin-RevId: 457005885 Change-Id: I9045ca94a3695303274d7c448b25e32fe02f3383
* Merge contiguous mappings from the same file.Gravatar Abseil Team2022-06-22
| | | | | | | This allows symbolization to work if different parts of a binary's text are mapped differently, e.g. if they're mlock()ed or mapped onto huge pages. PiperOrigin-RevId: 456600880 Change-Id: I069264f94cf834df9201968275a00828f5eb077e
* Use ABSL_INTERNAL_HAS_SSE2 instead of __SSE2__Gravatar Abseil Team2022-06-22
| | | | | | | | | | | | | | This ensures that emmintrin.h is included with clang-cl. Otherwise, errors like this occur: .../absl/container/internal/raw_hash_set.h(536,8): error: unknown type name '__m128i' inline __m128i _mm_cmpgt_epi8_fixed(__m128i a, __m128i b) { This aligns the include ifdef guards and the guards that use the provided APIs. The includes are also reordered, so they appear after the config header which provides the internal macro values. PiperOrigin-RevId: 456530271 Change-Id: I86dfd0022fd06fe7aa132138ec4d1bd14a86ba84
* PR #1200: absl/debugging/CMakeLists.txt: link with libexecinfo if neededGravatar Fabrice Fontaine2022-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1200 `backtrace` and `execinfo.h` can be provided by libexecinfo on uclibc and musl resulting in the following build failure with any user of abseil-cpp (such as collectd): ``` /home/buildroot/autobuild/instance-0/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /home/buildroot/autobuild/instance-0/output-1/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib/libabsl_stacktrace.so: undefined reference to `backtrace' ``` [...] ``` libgrpc++ . . . . . . no (libgrpc++ not found) ``` [...] ``` configure: error: "Some plugins are missing dependencies - see the summary above for details" ``` Fixes: - http://autobuild.buildroot.org/results/6a0484412f020e763ce3ad5bda48f09c78645bff Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Merge dac52cd20efb672278dc64bcd74920172a599ac0 into 93ad4284ac12077b7bac07a4743df1c564e7c957 Merging this change closes #1200 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1200 from ffontaine:master dac52cd20efb672278dc64bcd74920172a599ac0 PiperOrigin-RevId: 456323163 Change-Id: I3d2206761524d36e2b227c571e2e513f6840ff75
* Update GoogleTest version used by AbseilGravatar Derek Mauro2022-06-16
| | | | | | | | | | | | As part of this update, GoogleTest is now using the Abseil flags implementation, and the flags usage_test needs to be modified to pass. If building with bazel and --define=absl=1 to force GoogleTest to use Abseil, a WORKSPACE dependency on the abseil branch of the RE2 project is now required. PiperOrigin-RevId: 455512245 Change-Id: I2025df0c86006fac97a80713524c9d0aae8b358e
* Release absl::AnyInvocableGravatar Dino Radakovic2022-06-16
| | | | | | | | AnyInvocable is a C++11 compatible equivalent of the C++23 [std::move_only_function](https://en.cppreference.com/w/cpp/utility/functional/move_only_function/move_only_function). Although this implementation matches an intermediate draft revision of the standard (http://wg21.link/p0288r5), it is neither a standard tracking type nor a seamless backfill type. PiperOrigin-RevId: 455494585 Change-Id: If01565f8eecc78eee38fb794ef142b32b31abc7c
* 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
* Revert GoogleTest version used by Abseil to commit ↵Gravatar Dino Radakovic2022-06-16
| | | | | | | | | 28e1da21d8d677bc98f12ccc7fc159ff19e8e817 Using GoogleTest at 0320f517fd920866d918e564105d68fd4362040a breaks Windows DLLs. PiperOrigin-RevId: 455452411 Change-Id: Iff89a01351c01487786a22701efedf25860fadf9
* Update GoogleTest version used by AbseilGravatar Derek Mauro2022-06-15
| | | | | | | | | | | | As part of this update, GoogleTest is now using the Abseil flags implementation, and the flags usage_test needs to be modified to pass. If building with bazel and --define=absl=1 to force GoogleTest to use Abseil, a WORKSPACE dependency on the abseil branch of the RE2 project is now required. PiperOrigin-RevId: 455257879 Change-Id: Id1548ce7d6a95b747b72a4f255d31ced98e36006
* explicit_seed_seq_test: work around/disable bogus warnings in GCC 12Gravatar Derek Mauro2022-06-15
| | | | | PiperOrigin-RevId: 455129922 Change-Id: I3b2a62cbf50057b3ea9b73c2edb44271dc46986c
* any_test: expand the any emplace bug suppression,Gravatar Derek Mauro2022-06-15
| | | | | | | since it has gotten worse in GCC 12 PiperOrigin-RevId: 455128070 Change-Id: Ia866e59d4e2e810aea16afe492d58013c5661a2b
* absl::Time: work around bogus GCC 12 -Wrestrict warningGravatar Derek Mauro2022-06-14
| | | | | | | Upstream bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104336 PiperOrigin-RevId: 455001261 Change-Id: If0c72766a2a1d1e87c19c93c07cf62917031415b
* Make absl::StdSeedSeq an alias for std::seed_seqGravatar Laramie Leavitt2022-06-14
| | | | | PiperOrigin-RevId: 454969441 Change-Id: Ic18d91243ed3aa661ebf47a4c0ea96057aa4092d
* absl::Optional: suppress bogus -Wmaybe-uninitialized GCC 12 warningGravatar Derek Mauro2022-06-14
| | | | | PiperOrigin-RevId: 454947125 Change-Id: Idbe6c8b4953c3d6147326bebc915d24dff83e7d5
* algorithm_test: suppress bogus -Wnonnull warning in GCC 12Gravatar Derek Mauro2022-06-14
| | | | | | | Upstream bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105705 PiperOrigin-RevId: 454937873 Change-Id: I44f940caf36d83714af765f01cc43c5143fe21c3
* flags/marshalling_test: work around bogus GCC 12 -Wmaybe-uninitialized warningGravatar Derek Mauro2022-06-14
| | | | | PiperOrigin-RevId: 454934969 Change-Id: Ia4c157133e73ff16390179b37f7a789fc03fa92e
* counting_allocator: suppress bogus -Wuse-after-free warning in GCC 12Gravatar Derek Mauro2022-06-14
| | | | | PiperOrigin-RevId: 454932630 Change-Id: Ifc716552bb0cd7babcaf416fe28462c15b4c7f23
* Prefer to fallback to UTC when the embedded zoneinfo data does notGravatar Abseil Team2022-06-14
| | | | | | | | | | | | | | contain the requested zone. And now that we have a fallback at all, remove the special case that allowed for testing absl::LocalTimeZone() under TZ=US/Pacific. And we might as well update the existing embedded data while we're here. This is modifying the test framework only. PiperOrigin-RevId: 454896078 Change-Id: I3ec8391a5a51fe1e86a14f39d57ed6dac89d5905
* Minor wording fix in the comment for ConsumeSuffix()Gravatar Abseil Team2022-06-10
| | | | | PiperOrigin-RevId: 454305599 Change-Id: I528dfe0223280c379d8791373dc2871ad5812f63
* Tweak the signature of status_internal::MakeCheckFailString as part of an ↵Gravatar Andy Getzendanner2022-06-10
| | | | | | | upcoming change PiperOrigin-RevId: 454251164 Change-Id: I256b7a662478f9317a4133ec209fa5488a942886
* Fix several typos in comments.Gravatar Abseil Team2022-06-10
| | | | | PiperOrigin-RevId: 454185620 Change-Id: Ifdff33cec4bdd63f160a8d3c18f959ac2a3b6f25
* 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
* Fix C++17 constexpr storage deprecation warningsGravatar Derek Mauro2022-06-09
| | | | | | | | | | | | | | | | | | | This change introduces the symbol ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL to guard redundant declarations of static constexpr data members that are needed prior to C++17. This change also introduces the symbol ABSL_INTERNAL_CPLUSPLUS_LANG, which is supposed to be set to the same value as __cplusplus, except it uses _MSVC_LANG on MSVC so that the value is correct on MSVC. Neither of these new symbols should be used outside of Abseil. Fixes #1191 PiperOrigin-RevId: 453923908 Change-Id: I1316c52c19fa0c168b93cced0c817e4cb7c9c862
* Optimize SwissMap iteration by another 5-10% for ARMGravatar Abseil Team2022-06-09
| | | | | | | | | | | | | | | | | | | https://pastebin.com/fDvgWgHe After having a chat with Dougall Johnson (https://twitter.com/dougallj/status/1534213050944802816), we realized that __clzll works with zero arguments per documentation: https://developer.arm.com/documentation/101028/0009/Data-processing-intrinsics ``` Returns the number of leading zero bits in x. When x is zero it returns the argument width, i.e. 32 or 64. ``` Codegen improves https://godbolt.org/z/ebadf717Y Thus we can use a little bit different construction not involving CLS but using more understandable CLZ and removing some operations. PiperOrigin-RevId: 453879080 Change-Id: Ie2d7f834f63364d7bd50dd6a682c107985f21942
* Add documentation on optional flags to the flags library overview.Gravatar Tom Manshreck2022-06-08
| | | | | PiperOrigin-RevId: 453766125 Change-Id: Id4d88ae20bdadc960a65bc1010eea746f1eba051
* absl: correct the stack trace path on RISCVGravatar Saleem Abdulrasool2022-06-08
| | | | | | | | | | | | | | | | | | | When we would perform a stacktrace using the frame pointer walking, because we did the adjustment for the return address separately, we were misaligning the stack size and frame. Simplify the logic and correct the offset. The recovered frame pointer provides us with the return address of the current frame and the previous frame's frame pointer. Subsequently, we decide if we want to record this frame or not. The value in `next_frame_pointer` already points to the value from the previous stack frame (that is the next frame pointer to iterate). As such, the value computed by `ComputeStackFrameSize` is the value for the current frame. This was offset by one previously. Take the opportunity to clean up some of the local comments, fixing typos and splitting up the comments to reflect the lines that they are associated with. PiperOrigin-RevId: 453744059 Change-Id: If14813e0ac36f327f4b7594472f2222d05c478aa