| Commit message (Collapse) | Author | Age |
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 539747818
Change-Id: Ia0ab0fdda0ffe9b23d83d55c899f301df20b1179
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 539726003
Change-Id: Ie38f8d48a7b4c9d498fc1c4c4af6138048f80f68
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a conservative change, in that it only contains bugfixes and allows new patterns that used to be compile errors. There are other changes we would like to make (as reflected in the comments in char_formatting_test.cc), but we are being careful about the implications of such behavior changes.
The two implementation changes are:
* Apply integral promotions to enums before printing them, so they are always treated as integers (and not chars) by StrCat and StrFormat.
* Classify `unsigned char` and `signed char` as integer-like rather than char-like, so that `StrFormat("%v", v)` accepts those types as integers (consistent with `StrCat()`.)
The behavior changes are:
* StrCat() now accepts char-backed enums (rather than failing to compile).
* StrFormat("%v") now accepts `signed char` and `unsigned char` as integral (rather than failing to compile).
* StrFormat("%v") now correctly formats 8-bit enums as integers (rather than failing internally and emitting nothing).
Tested:
Modified the char_formatting_test.cc case to reflect changes.
Re-ran all other tests.
PiperOrigin-RevId: 539659674
Change-Id: Ief56335f5a57e4582af396d00eaa9e7b6be4ddc6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
| |
AppleClang seem to allocate two extra 64-bit words per each `new[]`.
A test should pass larger buffer to a placement `new[]`.
Fixes #1090
|
|
|
|
|
|
|
| |
Introduce kHighRefcountMask which masks off flags and the LSb of the refcount value. In the cases where this mask is used, we don't need to check the LSb because we can assume the refcount is 1 when the rest of the masked RefcountAndFlags is empty, and the LSb doesn't matter if the masked value is not empty (either it's immortal or refcount > 1). This saves an instruction and a cycle (and + cmp -> tst) https://godbolt.org/z/Kz69eqfhq
PiperOrigin-RevId: 539151659
Change-Id: I2ec7d72918f052c4b0938edd746af9d5b3052c7e
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 539145188
Change-Id: Ic8dc8112f77ca720a8871de57ee389f15693ab00
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an endless loop in the absl Arm stack unwinder where encountering a
second signal return trampoline (as one has in nested signal frames), would restart
unwinding at the outermost signal, resulting in an endless loop.
This does not change any behavior in the non-nested signal case, so I believe
it is safe for any stack that hasn't encountered this bug already.
I would love to test this beyond the absl unwinding test cases and the
fingerprint_test included here, but I'm at a loss for other test cases.
PiperOrigin-RevId: 539113007
Change-Id: I10037f9fa77b45cc4db61f89b9c6380ec3529113
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
integers.
This is a simplification but not a behavior change; we used to choose %u for unsigned ints, but %u and %d generate the same output for these types.
PiperOrigin-RevId: 539104599
Change-Id: I9d7ff561b969a6287889f95063636d6b77a4a78b
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 539104398
Change-Id: I6385662e0c5694d40c57887f983b16adc9eced14
|
| |
| |
| |
| |
| |
| |
| | |
This patch makes it use `memcpy` for performance and consistency with other overloads.
PiperOrigin-RevId: 539079130
Change-Id: I5aea9dd9b8a1ce708c787df7d6c9a75ae419c484
|
| |
| |
| |
| |
| |
| |
| | |
in NACL pthread_self() returns a pointer that isn't directly convertible to arithmetic type.
PiperOrigin-RevId: 539023020
Change-Id: I3745ec5565f3a99ccb1d9df12c27a80e57ca4755
|
|/ |
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 538778978
Change-Id: I0c04b09987eb4d97892825e3c994656d4e300f60
|
|\ \
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 538651091
Change-Id: Id1aa7ab287beb252f4826f70e26b7e3bfa80c462
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes #1469
PiperOrigin-RevId: 538534014
Change-Id: Iab84f73c0a0665355b614e85c62f686dc54c8671
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 538488164
Change-Id: I680dcbc2f27dca3beba416b3cd0a55943751cf4c
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
characters are skipped in output. All the "whitespace-like" (including \t, \r, \n) characters printed as plain space ' '.
PiperOrigin-RevId: 538479923
Change-Id: I62dff39bb21f376d00a7b9480f8f1d31d7015e45
|
| | |
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 538241594
Change-Id: Ie6f0d913bcf07dea2f33e47198ba952b3800d70e
|
| | |
| | |
| | |
| | |
| | |
| | | |
This is only a workaround, working only with gcc/clang, while waiting
for a better long term fix not using std::aligned_storage, which is
tracked by b/260219225.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
types and char-backed enum types through StrCat(), StrFormat("%v"), and Substitute().
This test allows us to modify the behavior in this space without introducing undesired changes elsewhere.
PiperOrigin-RevId: 537981963
Change-Id: Icda91b66efcc0dc8c263011b137e130a3db2dc19
|
| |/
|/|
| |
| |
| | |
PiperOrigin-RevId: 537825067
Change-Id: I3ce8712d5130068fb7d77b563eb502e2e9560810
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 537400816
Change-Id: I06794a6b8b6a441e34121047024380190d42869a
|
| |
| |
| |
| |
| |
| |
| | |
`absl::remove_cvref_t<T>`
PiperOrigin-RevId: 537372070
Change-Id: I46ff6e42856aea2cd8da6ff7105cf58613603dd4
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 537120102
Change-Id: I7952e53aca10319eb433e4c4d60cf3d7fe74d19a
|
|\ \
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 537088042
Change-Id: I6ef219a1a76baf3a751a6084a8fb8639c9bdac51
|
| | |
| | |
| | |
| | | |
https://google.github.io/styleguide/cppguide.html#Function_Comments
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 536785792
Change-Id: I2963dea81a75b01b7275d784f6a2908816d0c7bf
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Motivation is for WebAssembly to avoid perror which in turn requires file system emulation.
PiperOrigin-RevId: 536737294
Change-Id: I5177064c9451fb630ec5e9d0c0a0679fabd98afa
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This avoids the need to use filesystem APIs just to write to stderr, which emscripten implements the same as this under the hood.
PiperOrigin-RevId: 536525710
Change-Id: I0a647a4593eacfba324505b6e8c4acfb577ac839
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
the cyclecounter by default, since it may be unsafe in some situations
(for example, if the system may enter a sleep state).
Fixes #1460
PiperOrigin-RevId: 535641718
Change-Id: I41c9cc4bc7a8ae7280ff9df00abd57668205045b
|
| | | |
| | | |
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 535534819
Change-Id: Iccf8da3e0b084131e4c0dba205f3e190d3a66f4e
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
hash_test.cc leans heavily on INSTANTIATE_TYPED_TEST_SUITE_P, which is
quite memory- and CPU-hungry. Split a few heavyweight tests into a new
hash_instantiated_test.cc, reducing peak RAM consumption (or, on
multicore systems, compilation time).
PiperOrigin-RevId: 535305679
Change-Id: Ic204da0a47c749c3f7db5f902ade8d74ed3043bb
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
of it into a lambda.
PiperOrigin-RevId: 535245982
Change-Id: I816f60c8b6476536df6836500f01c9a3ad88ddd4
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
PiperOrigin-RevId: 534841675
Change-Id: I6fbee6f0fe61d8dd51c9c7d93c3b47684a2f4d9f
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
for clang
PiperOrigin-RevId: 534824761
Change-Id: I0ab78fcb211bc5df756fb581761ed8febc3d18fd
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`_LINUX_SOURCE_COMPAT` needs to be defined to fix
absl/status/status.cc:494:5: error: duplicate case value
494 | case ENOTEMPTY: // Directory not empty
| ^~~~
absl/status/status.cc:480:5: note: previously used here
480 | case EEXIST: // File exists
| ^~~~
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The AIX assembler doesn't support numeric labels. Use a relative jump
instead to fix
Assembler:
/tmp/ccw16WCt.s: line 25: Error In Syntax
|
| |_|/
|/| |
| | |
| | | |
`time_zone_impl.cc` uses `std::mutex`.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 534619764
Change-Id: Ied99569176766f9708d5504eac9c7024cdcfd64b
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The non-RAW_ versions provide better output but weren't available when most of these tests were written.
There are just a couple spots where RAW_ is actually needed, e.g. signal handlers and malloc hooks.
Also fix a couple warnings in layout_test.cc newly surfaced because the optimizer understands CHECK_XX differently than INTERNAL_CHECK.
PiperOrigin-RevId: 534584435
Change-Id: I8d36fa809ffdaae5a3813064bd602cb8611c1613
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1452
__cpuid is declared in intrin.h, but is excluded on non-Windows platforms.
We add this declaration to compensate.
Fixes #1358
PiperOrigin-RevId: 534449804
Change-Id: I91027f79d8d52c4da428d5c3a53e2cec00825c13
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This includes an upgrade to CMake 3.26.3 and Bazel 6.2.0
This change includes support for both GCC 12 and 13 since we
were only testing GCC 11 before this change.
PiperOrigin-RevId: 534235753
Change-Id: I4183a02469b1c3425c52a31b71fcefe403315a42
|
| | |
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 534213948
Change-Id: I56b897060b9afe9d3d338756c80e52f421653b55
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This uses the same flags that Clang based builds use for Windows/Linux.
A future change will add floating point related flags and some warning
suppressions. So, we clone the section rather than just change the check
at line 77.
Fixes #1450
|
|\ \
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 534179290
Change-Id: I9ad24518cc6a336fbaf602269fb01319491c8b60
|