| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
`absl::AsciiStrToUpper`.
PiperOrigin-RevId: 575969640
Change-Id: If6ddc0a71debfe571c2739ec91fc99594bc36f88
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when targeting at least C++20
These methods were added to C++20, so they are not available in
earlier language standards. Users requiring compatibility prior to C++20
should use absl::StartsWith() and absl::EndsWith() from
//absl/strings/match.h.
Most users are not affected by this change. By default when targeting at least
C++20 absl::string_view will be an alias for std::string_view. Only users
that have modified //absl/base/options.h will see this change.
PiperOrigin-RevId: 575238435
Change-Id: I7b03fde02c987b30b88c794640c2a616851997d1
|
|
|
|
|
|
|
|
|
|
| |
I.e. for a type `Example`, if
```
std::ostream& operator<<(std::ostream&, const Example&);
```
is declared, `absl::HasOstreamOperator<Example>::value` is `true`.
PiperOrigin-RevId: 574637891
Change-Id: I123d8f35a6e3ea894745133f7d81b1610fb475d5
|
|
|
|
|
|
|
| |
Users should use `absl::HasAbslStringify` instead.
PiperOrigin-RevId: 572916854
Change-Id: Ie67e076e0335b108d23f886a28074f7557ba045a
|
|
|
|
|
| |
PiperOrigin-RevId: 572575394
Change-Id: Ic1c5ac2423b1634e50c43bad6daa14e82a8f3e2c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The layering_check feature ensures that rules that include a header
explicitly depend on a rule that exports that header. Compiler support
is required, and currently only Clang 16+ supports diagnoses
layering_check failures.
The parse_headers feature ensures headers are self-contained by
compiling them with -fsyntax-only on supported compilers.
PiperOrigin-RevId: 572350144
Change-Id: I37297f761566d686d9dd58d318979d688b7e36d1
|
|
|
|
|
| |
PiperOrigin-RevId: 571487219
Change-Id: I6fbb2ff19db2b6d77e55059004d65c8639eb7fca
|
|
|
|
|
|
|
| |
`absl::Cord`.
PiperOrigin-RevId: 567695227
Change-Id: I13eb8a1872d2fe703b5f3b9bc8df7fec4381fb55
|
|
|
|
|
| |
PiperOrigin-RevId: 566650311
Change-Id: Ibfabee88ea9999d08ade05ece362f5a075d19695
|
|
|
|
|
|
|
| |
semantics.
PiperOrigin-RevId: 565330231
Change-Id: I84f0e9065986bb592b5bfb196b3fc221feb14bc4
|
|
|
|
|
| |
PiperOrigin-RevId: 565050503
Change-Id: I8f4c463be4ef513a2788745d1b454a7ede489152
|
|
|
|
|
|
|
|
|
| |
65d7b6d changed StrCat() to not use an intermediate buffer when the
result fits in the SSO buffer, but only libc++ has an SSO buffer large
enough for this optimization to work.
PiperOrigin-RevId: 564447163
Change-Id: I0c7fa4afed3369b36e13e7d1691eb7f933ea0091
|
|
|
|
|
| |
PiperOrigin-RevId: 564296635
Change-Id: I13ca663cdb676948a7041c5671b82a97a4388ff1
|
|
|
|
|
|
|
| |
We have no intention to use it instead of the CordRepBtree implementation, so cleanup up and remove all code and references.
PiperOrigin-RevId: 563803813
Change-Id: I95a67318d0f722f3eb7ecdcc7b6c87e28f2e26dd
|
|
|
|
|
|
|
| |
It sorts NaNs and the test became flaky. Flakiness arises from the fact that sorting checks randomize and check for 100 elements but we sort here around a thousand
PiperOrigin-RevId: 563783036
Change-Id: Id25bcb47483acf9c40be3fd1747c37d046197330
|
|
|
|
|
|
|
| |
comment seemed to suggest that the return type varies depending on the compiler and hence the `static_cast` is needed.
PiperOrigin-RevId: 561706189
Change-Id: Ie244d235d082536edfca263d4165e16171cbc6c7
|
|
|
|
|
| |
PiperOrigin-RevId: 561444343
Change-Id: I26c648b28b626e11caa32b0a34aef92932d5ddb9
|
|
|
|
|
| |
PiperOrigin-RevId: 560038034
Change-Id: I2c74d271b52faeefb6e8627d9830b2b53de64e73
|
|
|
|
|
| |
PiperOrigin-RevId: 559415517
Change-Id: I5bbc744bf00be2fd15ec7544b725d699e0d982fb
|
|
|
|
|
|
|
| |
Some time ago the invariant for CRC cordreps was relaxed to allow for nullptr values on empty cords with an explicit empty CRC value. The CordzInfo analysis never checked for nullptr values causing cord sampling to crash if the sampling happened to include a (very unlikely) empty Cord value.
PiperOrigin-RevId: 558202613
Change-Id: Ib0e1eadd08047167e4df5d3035b36dca2c285a0d
|
|
|
|
|
| |
PiperOrigin-RevId: 557811632
Change-Id: I370fa17d2fb82a1f1ca86f84529bae31b34b18e4
|
|
|
|
|
| |
PiperOrigin-RevId: 557523229
Change-Id: I959c0b0b14a4a96bee396d4bc09b80328060287d
|
|
|
|
|
|
|
| |
by avoiding a redundant map lookup.
PiperOrigin-RevId: 556816759
Change-Id: I971e428bf12d91720df72a91cc0bdf0513b0c270
|
|
|
|
|
| |
PiperOrigin-RevId: 555515105
Change-Id: I00929a869880cddd932ed2a08adb8f762a582738
|
|
|
|
|
| |
PiperOrigin-RevId: 555080884
Change-Id: I3f83fbeea1352587cf46fed83861cd7fb75655b0
|
|
|
|
|
|
|
|
| |
* converting integer literal to bool, use bool literal instead
* use '= default' to define a trivial default constructor
PiperOrigin-RevId: 554935854
Change-Id: If16a435664641df049b8810044b34a05ea2b4028
|
|
|
|
|
| |
PiperOrigin-RevId: 554934635
Change-Id: Ia666bc28ee8ee84c633f365312760996f0816ca7
|
|
|
|
|
| |
PiperOrigin-RevId: 554898945
Change-Id: Id19acf5af56b1e7877cd73ac8420cf8e1a841b64
|
|
|
|
|
| |
PiperOrigin-RevId: 554854436
Change-Id: Ifbac5ba447528ac696ac59eced95fd752aacf4f9
|
|
|
|
|
| |
PiperOrigin-RevId: 554552096
Change-Id: I0aa1bf705841c8bcee42bd33bc8d14bc15f2728b
|
|
|
|
|
|
|
| |
separate type anymore
PiperOrigin-RevId: 554462574
Change-Id: I749ae0308d76580a2264f35ee8df487da81e0f7b
|
|
|
|
|
| |
PiperOrigin-RevId: 553158292
Change-Id: I28350321550accd72da2f9f6f5992af311fe4b00
|
|
|
|
|
| |
PiperOrigin-RevId: 552802740
Change-Id: I662da1b03bfffb7939b44ea3850566d3c209c6cc
|
|
|
|
|
| |
PiperOrigin-RevId: 551287955
Change-Id: Ic77831cec71f6ffe0a4e091baabe932b245269ea
|
|
|
|
|
|
|
| |
Verifies that values other than 0 are prepended with "0x", while 0 is printed as "0000".
PiperOrigin-RevId: 549108651
Change-Id: Ib0f87d42066c46f3a5d4b05ca5c9d7ac17be9b66
|
|
|
|
|
|
|
|
|
|
|
| |
depend on string_view without depending on all of
//absl/strings:strings
New code that uses string_view.h should depend on
//absl/strings:string_view (Bazel) or
absl::string_view (CMake) instead.
PiperOrigin-RevId: 547283268
Change-Id: I6006b19605ce377d12c462129dda14251d16e1c1
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`memmatch()` is only used in `string_view.cc`, so move it there.
The moving of `memmatch()` to `string_view.cc` decouples `string_view`
from `memutil`, which will allow us to move `string_view` into its
own target in a followup.
The only other function that is used is `memcasecmp()`, so delete
all other functions.
PiperOrigin-RevId: 547238386
Change-Id: Id6fad47dd24191c8e8f26dd923fffa1007c8db4a
|
|
|
|
|
|
|
|
|
| |
Cord::EstimatedMemoryUsage(). This mode avoids double-counting blocks that a Cord references more than once; otherwise it is similar to the existing kTotal mode.
There's no change to the existing kTotal or kFairShare accounting modes.
PiperOrigin-RevId: 544378591
Change-Id: I7b4ae55cd93d631194e59a9cd0ff07f47611219e
|
|
|
|
|
| |
PiperOrigin-RevId: 539900072
Change-Id: I675386e3184f6f5ab70b851add970c91d1dde9c5
|
|
|
|
|
| |
PiperOrigin-RevId: 539784770
Change-Id: Ie224afa04af023bbddc89b967e8c8440f9e8a887
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
This patch makes it use `memcpy` for performance and consistency with other overloads.
PiperOrigin-RevId: 539079130
Change-Id: I5aea9dd9b8a1ce708c787df7d6c9a75ae419c484
|
|/ |
|
|
|
|
|
|
|
|
|
| |
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: 537400816
Change-Id: I06794a6b8b6a441e34121047024380190d42869a
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|