| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
PiperOrigin-RevId: 638266358
Change-Id: I8a750a53d5e98bc3ad3b6d36661789d97d6efb0a
|
|
|
|
|
| |
PiperOrigin-RevId: 638244694
Change-Id: I80393c6c00f1554057a915e0d71f88b7d899818c
|
|
|
|
|
| |
PiperOrigin-RevId: 638232699
Change-Id: I134905927ba72eaa5eaf821bb5535942746a3672
|
|
|
|
|
| |
PiperOrigin-RevId: 638094845
Change-Id: I189ce357ccecbe6f341a311e405f9189bf6c0fee
|
|
|
|
|
|
|
| |
This implementation is designed to avoid needing to copy to an intermediate buffer and then read from it again, which is an expensive Read-after-Write hazard.
PiperOrigin-RevId: 638071429
Change-Id: I390b4d38b8c1bd7fffba3d403baba6f1511555b0
|
|
|
|
|
| |
PiperOrigin-RevId: 638068943
Change-Id: I7ffe7df900ec4854d8712885d212854b31e79fea
|
|
|
|
|
| |
PiperOrigin-RevId: 638039514
Change-Id: I623d87e91ebe0a1166fee175151179b61ef54249
|
|
|
|
|
| |
PiperOrigin-RevId: 638019038
Change-Id: I96a87e4736677df9d44520e4510e089a27372765
|
|
|
|
|
| |
PiperOrigin-RevId: 637972935
Change-Id: Ia684f7761b2a98a0d9d5ae096daba34e9140aa22
|
|
|
|
|
| |
PiperOrigin-RevId: 637958502
Change-Id: If81eba9729c16b5d5ac7187cf74738d8aaace367
|
|
|
|
|
| |
PiperOrigin-RevId: 637934582
Change-Id: Ie89b4317b11adba058dd999800e514eff49d4d69
|
|
|
|
|
|
|
| |
Include targets that are already included in ABSL_INTERNAL_DLL_FILES.
PiperOrigin-RevId: 637498166
Change-Id: I7c5714a962b515a96b6e9e55bb8854b9f303180c
|
|
|
|
|
|
|
|
|
| |
... even if ABSL_BUILD_TEST_HELPERS is not specified.
When not using ABSL_BUILD_DLL, tests builds even if ABSL_BUILD_TEST_HELPERS is not specified. Make this work for ABSL_BUILD_DLL, by ensuring that (BUILD_TESTING AND ABSL_BUILD_TESTING) triggers abseil_test_dll build.
PiperOrigin-RevId: 637493023
Change-Id: Icd5868c547365f4788caac47e002fbfc32a03e94
|
|
|
|
|
| |
PiperOrigin-RevId: 637052089
Change-Id: I8e22c2479749c05d8ca5f9e8eeba480a93da2d18
|
|
|
|
|
| |
PiperOrigin-RevId: 637029703
Change-Id: I58b4c3a3f1aab3062b51d15c5b9fecfd3ca3193a
|
|
|
|
|
| |
PiperOrigin-RevId: 637008207
Change-Id: I6df357c4b2257b0ee834b2a48a04331b5f677c92
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang 19 seems to see the old usage of
absl::string_internal::HasAbslStringify in GoogleTest 1.14.0 and
incorrectly resolves absl::HasAbslStringify sometimes. This issue is
fixed when a version of GoogleTest that removes
absl::string_internal::HasAbslStringify is used.
This workaround is ugly but will be removed after the next GoogleTest
release.
PiperOrigin-RevId: 636993564
Change-Id: Ic166edbd4ddc2c716afbedec34be629cfc988e00
|
|
|
|
|
| |
PiperOrigin-RevId: 636992927
Change-Id: I4da3be41a5961d0828eec7ac5c67b299a2e0f237
|
|
|
|
|
| |
PiperOrigin-RevId: 636990118
Change-Id: Ib90ed852b899a976679a8eb6352a9161c27e17ce
|
|
|
|
|
|
| |
std::is_signed can't be specialized, so this actually lets through non-unsigned types where the types are not language primitives (i.e. it lets absl::int128 through). However, std::numeric_limits can be specialized, and is indeed specialized, so we can use that instead.
PiperOrigin-RevId: 636983590
Change-Id: Ic993518e9cac7c453b08deaf3784b6fba49f15d0
|
|
|
|
|
| |
PiperOrigin-RevId: 636945786
Change-Id: I2ea027baab08c05c213648b24a1a59ecdacfcf32
|
|
|
|
|
| |
PiperOrigin-RevId: 636911360
Change-Id: I525e25b90b91712b95ab7499425de85610ff9115
|
|
|
|
|
|
|
|
|
|
| |
`absl::StrCat` always returns a `std::string`. Specifying it using a trailing return type does not help.
Tests are documentation, and they should be consistent with [the google style guide](https://google.github.io/styleguide/cppguide.html#trailing_return).
For example, this is different than `-> absl::string_view` and returning string literals, where it is actually a load-bearing change.
PiperOrigin-RevId: 636705683
Change-Id: I0d84a562a59bc0c16be01dd2ae5538adb401432e
|
|
|
|
|
| |
PiperOrigin-RevId: 636695970
Change-Id: I22d6f13271ab965563f1f575d9d7ba0ed1af466d
|
|
|
|
|
| |
PiperOrigin-RevId: 636682763
Change-Id: I9e5fd6827cb780c288ff5af54643ee4fbbaca6d5
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attributes to Abseil.
This will enable diagnoses similar to those enabled by ABSL_ATTRIBUTE_LIFETIME_BOUND.
See the following links for details:
https://reviews.llvm.org/D64448
https://lists.llvm.org/pipermail/cfe-dev/2018-November/060355.html
PiperOrigin-RevId: 636650605
Change-Id: Iab3a768d57775863addcf0a7c773551ee8f424c6
|
|
|
|
|
| |
PiperOrigin-RevId: 636649618
Change-Id: I73a0be3defa438daf0e9db5c34c0e2feb0e52b69
|
|
|
|
|
| |
PiperOrigin-RevId: 636634618
Change-Id: I812115d2a33dc71446a14deadc6af019eef6dfd7
|
|
|
|
|
| |
PiperOrigin-RevId: 636615840
Change-Id: I34f584ea0c6603a0781e874d683b516de94c6928
|
|
|
|
|
| |
PiperOrigin-RevId: 636566755
Change-Id: I2c8c1f19a67a7a487dd2bbb46c17f9fb4e2b037c
|
|
|
|
|
| |
PiperOrigin-RevId: 636563266
Change-Id: Id4ee907c30d7dac400f1f85776cc5f1fcb3e20b7
|
|
|
|
|
| |
PiperOrigin-RevId: 636218177
Change-Id: I9f58ccbb468fcc0c44ef12162415f7b721a745bf
|
|
|
|
|
|
|
|
| |
the open source release. This was only used in tests that never ran
as part in the open source release.
PiperOrigin-RevId: 636167506
Change-Id: Iafc33bd768307fe9ee77b181369635012abf2245
|
|
|
|
|
| |
PiperOrigin-RevId: 636152885
Change-Id: If545903854ea39cc4b5c51c88cd555072d27d89e
|
|
|
|
|
|
|
| |
`absl::int128` and `absl::uint128` are not `std::is_integral`. There is an internal `IsIntegral` type trait we could use, but it actually makes more sense to remove the `static_assert` altogether. Any compile-time validation should be done in `absl::Uniform` itself, and duplicating that logic here just increases the chance of divergence.
PiperOrigin-RevId: 635971431
Change-Id: I9177ae64c86ee1abe6571e0b29aba1844553c972
|
|
|
|
|
| |
PiperOrigin-RevId: 635955480
Change-Id: I9322b4e7732e252007f6ca6c9b0cefc25974c9f8
|
|
|
|
|
| |
PiperOrigin-RevId: 635938476
Change-Id: I49cba8789452f13cfeb4a24203b3b46624aa7269
|
|
|
|
|
| |
PiperOrigin-RevId: 635913776
Change-Id: I8c765caa918b1afee9f855cf3afbc6489d60735f
|
|
|
|
|
|
|
| |
We follow the C++ demangler in not printing the arguments, just an empty <>.
PiperOrigin-RevId: 635858791
Change-Id: I24903d4c5a1e2060e92ca950bf7a61647aee655f
|
|
|
|
|
|
|
| |
Fixes #1676
PiperOrigin-RevId: 635840902
Change-Id: Ifc4099175f1c5f040f55a9f5a47fe0c996af79d1
|
|
|
|
|
|
|
|
|
| |
This significantly reduces binary size of big binaries and creates a single hot function instead of many cold. That is decreasing cash misses during code execution.
We also avoid size related computations for tables with no deleted slots, when resize is necessary.
PiperOrigin-RevId: 635527119
Change-Id: I763b135f1f6089051e62e348a07b33536af265ab
|
|
|
|
|
|
|
| |
This was supposed to be -Wunreachable-code-aggressive.
PiperOrigin-RevId: 635519833
Change-Id: I2df1ca9ea8a8bf1060006c2b11602646a26eac61
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`absl::Uniform(tag, rng, a, b)` has some restrictions on the values it can produce in that it will always be in the range specified by `a` and `b`, but these restrictions can be violated by `absl::MockingBitGen`. This makes it easier than necessary to introduce a bug in tests using a mock RNG.
We can fix this by making `MockingBitGen` emit a runtime error if the value produced is out of bounds.
Immediately fixing all the internal buggy uses of `MockingBitGen` is currently infeasible, so the plan is this:
1. Add turned-off validation to `MockingBitGen` to avoid the costs of maintaining unsubmitted code.
2. Temporarily migrate the internal buggy use cases to keep the current behavior, to be fixed later.
3. Turn on validation for `MockingBitGen`.
4. Fix the internal buggy use cases over time.
---
A few of the different categories of errors I found:
- `Call(tag, rng, a, b) -> a or b`, for open/half-open intervals (i.e. incorrect boundary condition). This case happens quite a lot, e.g. by specifying `absl::Uniform<double>(rng, 0, 1)` to return `1.0`.
- `Call(tag, rng, 0, 1) -> 42` (i.e. return an arbitrary value). These may be straightforward to fix by just returning an in-range value, or sometimes they are difficult to fix because other data structures depend on those values.
PiperOrigin-RevId: 635503223
Change-Id: I9293ab78e79450e2b7b682dcb05149f238ecc550
|
|
|
|
|
|
|
| |
`AbslStringify` is the [recommended](abseil.io/tips/215) way to make a type printable. However, the simple expression `DCHECK_EQ(x, y)` fails when either argument implements it, and not `operator<<`.
PiperOrigin-RevId: 634261367
Change-Id: Ic42666c286cf172c9482abbd28194da828706c71
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1672
https://github.com/abseil/abseil-cpp/discussions/1671
Merge ddcbb2466b2c9c4048d60be7e58cf47f935c257d into eba8db7baf6c326870f28e58977075b7b2fb243d
Merging this change closes #1672
COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1672 from MBkkt:optimize-str-join ddcbb2466b2c9c4048d60be7e58cf47f935c257d
PiperOrigin-RevId: 633988391
Change-Id: I2b3904211a29de3a768fb90a7fc106d7ff6c03e7
|
|
|
|
|
| |
PiperOrigin-RevId: 633974603
Change-Id: I7efd0f0fadf1803aa8eacb86a18366e9a8a07df0
|
|
|
|
|
| |
PiperOrigin-RevId: 633738511
Change-Id: I3f895d5de1aec5b5b9666523a328f3a3b0344e59
|
|
|
|
|
|
|
| |
The tests work either way, but this way the inputs are more realistic.
PiperOrigin-RevId: 633606944
Change-Id: I6c0440f2fceb5b8d9d4aed5818c3171d3fce2fb8
|
|
|
|
|
|
|
|
| |
Both libstdc++ and libc++abi currently ship a __cxa_demangle on MIPS;
there’s no reason to avoid using it.
PiperOrigin-RevId: 633319823
Change-Id: I8d28a87f9998a62a25e0e149138395f8994e6fb5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows users to pass a collection of string-like objects in an
`initializer_list` without having to convert everything to the same
type first.
`initializer_list` has the requirement that everything is copied in to
the list. For strings hitting the `string_view` overload avoids
unnecessary copies.
This may be a breaking change if `absl::StrJoin` has an explicit
template parameter, for example `absl::StrJoin<std::string>({foo,
"bar"});`. In this case, remove the explicit template parameter.
PiperOrigin-RevId: 633295575
Change-Id: Ie5f0860f409f639a27a58949842ec961e0b3bdeb
|