| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
PiperOrigin-RevId: 461737981
Change-Id: Iefb1d703725f0a258b5ee315c55277b261b75418
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 461616203
Change-Id: I4cf2e0738451a0471bb8341d9af003d271331fab
|
|
|
|
|
|
|
| |
except if that parameter is also a span or appears to be a view type.
PiperOrigin-RevId: 461612357
Change-Id: Ibba36f44465176db47dd21e1866134549143fa64
|
|
|
|
|
|
|
| |
under MSVC
PiperOrigin-RevId: 461238101
Change-Id: Id3edac104ecd9edd9daf8012894a62692bd9569f
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Add a hook to permit checking whether an address is in bounds for the stack.
PiperOrigin-RevId: 460997074
Change-Id: Ib3b4d0cf656e614aa083457abb079c40ef8db0ff
|
|
|
|
|
|
|
|
|
| |
using decl 'Pointee' is unused
missing #include <utility> for 'std::move'
missing #include <memory> for 'std::unique_ptr'
PiperOrigin-RevId: 460980847
Change-Id: I5ebfca39d6b93ef396b32d1b91a5d8748d43e018
|
|
|
|
|
| |
PiperOrigin-RevId: 460752575
Change-Id: I9629504b5c63dbfe367cd55e287a782cd8fa546c
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 460713135
Change-Id: If7ea94f409edc1e4024d7eaa4ae025b0b258fc02
|
|/
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
PiperOrigin-RevId: 460555564
Change-Id: Icaf08bd252be12717f922e72a70a201bc1957154
|
|
|
|
|
| |
PiperOrigin-RevId: 460509198
Change-Id: I6d85443cc3f568230f3a3d46b63358129654ddb9
|
|
|
|
|
| |
PiperOrigin-RevId: 460407142
Change-Id: I9501d2e79cf8c20c5261ab0169bd4bbc3b02980c
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 457997580
Change-Id: I39d007d4f93c02e07ad660df13d9f63e786182f8
|
|
|
|
|
| |
PiperOrigin-RevId: 457234764
Change-Id: I7d543bc8e4e01d7739f1a3a2cf602ed3e1ea84d3
|
|
|
|
|
| |
PiperOrigin-RevId: 457014105
Change-Id: I4ecd4185385a213838c6f3241b65536b1f833705
|
|
|
|
|
| |
PiperOrigin-RevId: 457005885
Change-Id: I9045ca94a3695303274d7c448b25e32fe02f3383
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 455463553
Change-Id: Ifa6c238556339dd4e36715ac040ca048f2f84a9a
|
|
|
|
|
|
|
|
|
| |
28e1da21d8d677bc98f12ccc7fc159ff19e8e817
Using GoogleTest at 0320f517fd920866d918e564105d68fd4362040a breaks Windows DLLs.
PiperOrigin-RevId: 455452411
Change-Id: Iff89a01351c01487786a22701efedf25860fadf9
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 455129922
Change-Id: I3b2a62cbf50057b3ea9b73c2edb44271dc46986c
|
|
|
|
|
|
|
| |
since it has gotten worse in GCC 12
PiperOrigin-RevId: 455128070
Change-Id: Ia866e59d4e2e810aea16afe492d58013c5661a2b
|
|
|
|
|
|
|
| |
Upstream bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104336
PiperOrigin-RevId: 455001261
Change-Id: If0c72766a2a1d1e87c19c93c07cf62917031415b
|
|
|
|
|
| |
PiperOrigin-RevId: 454969441
Change-Id: Ic18d91243ed3aa661ebf47a4c0ea96057aa4092d
|
|
|
|
|
| |
PiperOrigin-RevId: 454947125
Change-Id: Idbe6c8b4953c3d6147326bebc915d24dff83e7d5
|
|
|
|
|
|
|
| |
Upstream bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105705
PiperOrigin-RevId: 454937873
Change-Id: I44f940caf36d83714af765f01cc43c5143fe21c3
|
|
|
|
|
| |
PiperOrigin-RevId: 454934969
Change-Id: Ia4c157133e73ff16390179b37f7a789fc03fa92e
|
|
|
|
|
| |
PiperOrigin-RevId: 454932630
Change-Id: Ifc716552bb0cd7babcaf416fe28462c15b4c7f23
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 454305599
Change-Id: I528dfe0223280c379d8791373dc2871ad5812f63
|
|
|
|
|
|
|
| |
upcoming change
PiperOrigin-RevId: 454251164
Change-Id: I256b7a662478f9317a4133ec209fa5488a942886
|
|
|
|
|
| |
PiperOrigin-RevId: 454185620
Change-Id: Ifdff33cec4bdd63f160a8d3c18f959ac2a3b6f25
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
version guard
PiperOrigin-RevId: 453970585
Change-Id: Iac23eb88ea676efc822f001020b1cc2c255dbbc1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
PiperOrigin-RevId: 453766125
Change-Id: Id4d88ae20bdadc960a65bc1010eea746f1eba051
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|