--
bc74316103bbda92541896f588f71c9d45bea768 by Gennadiy Civil <misterg@google.com>:
Manually fixing the BUILD.bazel files
--
d41bf9ea916a0dc8c69e6ba77f58f9d55649880e by Shaindel Schwartz <shaindel@google.com>:
Minor cleanup to miscellaneous BUILD files.
PiperOrigin-RevId: 266420157
--
08a8dc2cbd48d27e1115809f9ca8d178551cd66e by Gennadiy Civil <misterg@google.com>:
Internal Change
BEGIN_PUBLIC
Internal Change
END_PUBLIC
--
8617d58fde1ece40e4aa79eaa5e250b42d19835f by Shaindel Schwartz <shaindel@google.com>:
Internal Change
BEGIN_PUBLIC
Internal Change
END_PUBLIC
--
3a0fc7d48bdc70c4f7dffc219578693dea84eb2d by Derek Mauro <dmauro@google.com>:
Implement absl::string_view::at()
PiperOrigin-RevId: 266024644
--
ba53a9da8ede8fe7b8971eaab6b3a1fa34763ff6 by Andy Soffer <asoffer@google.com>:
Remove forcing of optimization levels in MSVC.
PiperOrigin-RevId: 265927588
--
df86f2046b54bba7da2e345040806d43470de5c0 by Shaindel Schwartz <shaindel@google.com>:
Internal change
PiperOrigin-RevId: 265811077
--
e2e3a6e8194363e7c6377672560c806d638a7c74 by Derek Mauro <dmauro@google.com>:
Remove ABI unsafe mixed exceptions mode compilation.
Testing will now be done on CI with the exceptions flag set globally.
PiperOrigin-RevId: 265796079
GitOrigin-RevId: bc74316103bbda92541896f588f71c9d45bea768
Change-Id: Ibccd00f4829520454aa55c4f55c7cb2dc9c6b65a
--
d6748c733a70cd74ad9b76a0c9cd6b3fe2cecacf by Xiaoyi Zhang <zhangxy@google.com>:
Remove empty block, to address alerts reported in
https://github.com/abseil/abseil-cpp/issues/368.
PiperOrigin-RevId: 265099887
--
232e2036b5668d6d1296b881f9347756d84541ee by Derek Mauro <dmauro@google.com>:
Make the Linux Bazel CI scripts test with the exception mode explicitly set.
PiperOrigin-RevId: 265092105
--
942a40696c2c9b833be03e92d22a6ede7bccb6d4 by Xiaoyi Zhang <zhangxy@google.com>:
Import https://github.com/abseil/abseil-cpp/pull/372.
Suppress the unused variable warning on GCC, i.e. "-Wunused-variable".
PiperOrigin-RevId: 265063925
--
7ef90796b52cbdc260afc77cf47206f9356471d0 by Xiaoyi Zhang <zhangxy@google.com>:
Add quotes to `ABSL_COMMON_INCLUDE_DIRS` since it's a list and may contain a
`;`. This addresses https://github.com/abseil/abseil-cpp/issues/373.
PiperOrigin-RevId: 265059077
--
43f3ae742e00b83672ad6c5bc5b17fdb8f9fe6fe by Gennadiy Rozental <rogeeff@google.com>:
Internal re-organization
PiperOrigin-RevId: 264913945
--
6a2adf9c08ee1d98cc6b2855a676345c6495294a by Andy Soffer <asoffer@google.com>:
Publicly expose type names for uniform interval tags as in, for example, absl::IntervalClosedClosedTag, and add equality comparison operators.
PiperOrigin-RevId: 264861162
--
3c90c6e05fd61d56b419cd2d39dab8f17b8711b8 by Abseil Team <absl-team@google.com>:
Add validity check on returned frame pointer.
PiperOrigin-RevId: 264858823
--
2db87e0cfa0c6bea7ba81684b834cb8a73b7d748 by Gennadiy Rozental <rogeeff@google.com>:
Add MUST_USE_RESULT attribute to absl::GetFlag to prevent accidental misuse.
PiperOrigin-RevId: 264782762
GitOrigin-RevId: d6748c733a70cd74ad9b76a0c9cd6b3fe2cecacf
Change-Id: I169e9c5358e4f63000c1255e806d26b8afecf5ff
--
f51743aa96e19aa3dda96d09d313b4390f1d61e7 by CJ Johnson <johnsoncj@google.com>:
Minor touchup on the InlinedVector/Storage internal header file
PiperOrigin-RevId: 262389640
--
e2f54c1f7142e40d30ff0fda43bef050625821a5 by Abseil Team <absl-team@google.com>:
Update the absl codebase to use proper marketing names for macOS and Xcode
PiperOrigin-RevId: 262389450
--
f29aae774edd0d00e2daa1fb96694a6dc3565a55 by CJ Johnson <johnsoncj@google.com>:
Blocks code generator script from being affected by LTS inline namespaces
PiperOrigin-RevId: 262376791
GitOrigin-RevId: f51743aa96e19aa3dda96d09d313b4390f1d61e7
Change-Id: I33be7f5a708ce8a2b7111b00151e43d73c5e0009
--
f8fe0f483378c7520d8f8bdfabe4b20de4d96c7e by Andy Soffer <asoffer@google.com>:
Ensure that Invoke can support C++17 in the sense that noexcept is part of the type.
PiperOrigin-RevId: 261730155
--
bf796ab71653a80498f9374bc8c5111d065c64ba by Abseil Team <absl-team@google.com>:
Fix typo in static_assert message for copy/move constructible by replacing "by" with "be".
PiperOrigin-RevId: 261713992
--
8c7c17c40d03a322f304a2fd73ed34462dbf265a by Andy Soffer <asoffer@google.com>:
Add absl::is_function drop-in replacement for std::is_function. Some standard
libraries incorrectly implement std::is_function in a few corner cases. In
particular, libstdc++ functions marked noexcept.
The trick being used here is that function types decay to pointers. After
excluding cases like is_class, etc, we can distinguish function types by
testing for this decay.
Many thanks to ericwf@ for essentially writing this CL.
PiperOrigin-RevId: 261705008
--
c5adf42d0a132c2525d17a719329eab2ffe0aa94 by Abseil Team <absl-team@google.com>:
Add microbenchmark for StrSplit that uses delimiter ByAnyChar.
PiperOrigin-RevId: 261424010
--
66a342f9381ec56be2fe3aa5b3193dd3538a9740 by Andy Soffer <asoffer@google.com>:
CMake support for Abseil Random
This change touches almost build-related files for CMake almost exclusively. The one minor exception is random/internal/salted_seed_seq.h. The default warnings configuration for one of our CI builds requests not having named but unused parameters. The change in this file cleans up that warning.
PiperOrigin-RevId: 261192369
GitOrigin-RevId: f8fe0f483378c7520d8f8bdfabe4b20de4d96c7e
Change-Id: I05f662baacfe78750651535aa658f61c2327bc44
--
0925eb11f7730d5a1e538b9e6c2d1f8239f5fdc0 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 250694613
--
4e1690e492a8399da1b1450ff5f21adf435fcef5 by Greg Falcon <gfalcon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 250684222
--
c7281b44eb005c21d45bdc0b437e47c7787275bc by Derek Mauro <dmauro@google.com>:
Fix warnings on Xcode/clang.
PiperOrigin-RevId: 250552120
--
5ea3b1cfa759a7e6c70e7558f27c762baf818f7d by CJ Johnson <johnsoncj@google.com>:
Minor edits to InlinedVector benchmarks: Adds DoNotOptimize to the member functions of NontrivialType, removes unused template parameter for InlVec typeder
PiperOrigin-RevId: 250505482
--
7fe9c02b49121936c5b47034f20272a916111174 by Matt Kulukundis <kfm@google.com>:
Internal change.
PiperOrigin-RevId: 250376825
--
ad348c9c0eb37449874648e8544c56343c1dfaef by CJ Johnson <johnsoncj@google.com>:
Minor edits to InlinedVector benchmark
PiperOrigin-RevId: 250361830
--
55e8b411431e982059af73b160fa6bcef90e87f7 by CJ Johnson <johnsoncj@google.com>:
Switches use of allocator_traits to the Abseil backport to leverage existing bug fixes and workarounds
PiperOrigin-RevId: 250359321
--
b0edbe3218940128523e36388a31ff90df01a364 by CJ Johnson <johnsoncj@google.com>:
Updates exception safety test for InlinedVector to use TYPED_TEST (with fixtures) which increases the coverage without complicating the code.
PiperOrigin-RevId: 250359198
--
8ab55c9a8c191aabcb562cf1789f360eba0b1a81 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 250281509
--
dd8a67f4f9e5e8930457203c18205183b8306b5a by Abseil Team <absl-team@google.com>:
Change the suggestions for the non-strict Next/PrevWeekday() calls.
Previously we suggested `PrevWeekday(d, Weekday::thursday) + 7`
to get the _following_ Thursday if d is not already a Thursday,
but `NextWeekday(d - 1, Weekday::thursday)` is more intuitive,
and probably even a little faster.
Similarly for the _previous_ Thursday if d is not already a
Thursday, suggest `PrevWeekday(d + 1, Weekday::thursday)`
instead of `NextWeekday(d, Weekday::thursday) - 7`.
PiperOrigin-RevId: 249840844
--
4775dce26cdb0560011a5d1ecdc8e0c20f856911 by Abseil Team <absl-team@google.com>:
Change the DbgHelp lib pragma to use lowercase and an extension.
This matches the conventions used in the Windows SDK.
PiperOrigin-RevId: 249826229
--
cbc49e865f3715ebe1983307d4f02e50998b2958 by Abseil Team <absl-team@google.com>:
Introduce Abseil prefixed thread annotation macros.
PiperOrigin-RevId: 249825200
--
8e97c8dfbadb78743c2421b494398be25f632cb1 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 249737936
--
0d720538bc6af3e77ac19def27a4a0514c2800d2 by Abseil Team <absl-team@google.com>:
Tell CMake Abseil is a C++ project.
PiperOrigin-RevId: 249726509
--
20651845edf236757b3ffb3eaeff330af81be40a by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 249726377
GitOrigin-RevId: 0925eb11f7730d5a1e538b9e6c2d1f8239f5fdc0
Change-Id: I05d18d30ad4e9ace6b60a17d2dc6fd699643fe30
--
cae9f0c87632d690ec3f471e181be247fe4fb025 by Abseil Team <absl-team@google.com>:
Run IWYU on some headers.
PiperOrigin-RevId: 248749194
--
f57dcac97cacbe31769a8646020a99b6686987dc by Samuel Benzaquen <sbenza@google.com>:
Accept vector<bool>::reference in StrFormat and friends.
The proxy types might overload `operator&`. Use std::addressof instead.
PiperOrigin-RevId: 248619661
GitOrigin-RevId: cae9f0c87632d690ec3f471e181be247fe4fb025
Change-Id: Iacf5d46a59d1d5f1fa1fd4a1e0d0de8c6cbedb3e
--
6fca451d74e509671f0996e15ea05008f73c9957 by Eric Fiselier <ericwf@google.com>:
Support vector<bool>::reference and ::const_reference
in absl::Substitute.
PiperOrigin-RevId: 248524270
--
a4b298c74acb8ae0688ed681052593623d8021c7 by Abseil Team <absl-team@google.com>:
Clarify that a static `SpinLock` using the `LinkerInitialized` constructor is
initialized in non-cooperative mode.
PiperOrigin-RevId: 248386381
GitOrigin-RevId: 6fca451d74e509671f0996e15ea05008f73c9957
Change-Id: I13d54c2034695e7677170cdc7b86384b7d7d9cb5
--
6258612abc571fa7f51f34046b410c73486505fe by Derek Mauro <dmauro@google.com>:
Rollback checking the return value of pthread functions in thread_identity.cc.
PiperOrigin-RevId: 248381230
--
fda6acddab04fc53eeb84ec253de4a9655bf9a36 by CJ Johnson <johnsoncj@google.com>:
Removes too-restrictive benchmark abstraction in inlined_vector_benchmark
PiperOrigin-RevId: 248366325
--
68674991e63c919de8a3eebced5adec6466ec8fe by Abseil Team <absl-team@google.com>:
Check for pthread_setmask() failure.
Log a fatal error message if pthread_setmask() fails.
PiperOrigin-RevId: 248347115
--
45389e44c0d1badafb6b560cae3df99fc8bd16ac by Derek Mauro <dmauro@google.com>:
Fix a -Wredundant-move warning in GCC 9.
PiperOrigin-RevId: 248338682
--
12cfbacf599084a8ac6bf4395026cbf193c85a26 by Derek Mauro <dmauro@google.com>:
Check the return value of pthread functions in thread_identity.cc.
PiperOrigin-RevId: 248327118
--
2bc69998e68cfee96e812ce800e83cce7a715091 by Benjamin Barenblat <bbaren@google.com>:
Encourage judicious use of ABSL_PREDICT_{TRUE,FALSE}
Recommend that users use branch prediction annotations only on hot,
consistently mispredicted branches.
PiperOrigin-RevId: 248222450
GitOrigin-RevId: 6258612abc571fa7f51f34046b410c73486505fe
Change-Id: I09d409f9a3941ee926b8476b5473f9c4899cc3ff
--
5a5dba4252e764e6737070bf0a31074bf23a3b41 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 244898913
--
3eb7d5b445ffbf08a104e39cd15aecf568417333 by Matt Calabrese <calabrese@google.com>:
Introduce absl::is_trivially_move_constructible and absl::is_trivially_move_assignable, and update the absl::is_trivially_copy_constructible and absl::is_trivially_copy_assignable traits to use similar techniques (should now be closer to the standard behavior).
PiperOrigin-RevId: 244859015
--
7da05a24fa786cab3985de0c39a186d73dcbcfb5 by Abseil Team <absl-team@google.com>:
Fix misspellings in comments in raw_hash_set.h.
PiperOrigin-RevId: 244754700
--
5c057be96048f21473d5ec45005ab4dcd8dd354f by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 244744239
--
592394e3c2e98f1238d3fb6fcb0d20c3e3739ba9 by Derek Mauro <dmauro@google.com>:
Limit the raw_hash_set prefetch test to x86-64.
PiperOrigin-RevId: 244737534
--
99ebe4e003633c8ff7838b035b31a827994879ef by Derek Mauro <dmauro@google.com>:
Workaround warning 4091 in an MSVC header.
PiperOrigin-RevId: 244701744
--
0aa23f09a32efe7985ee55b0217190f08da42477 by Abseil Team <absl-team@google.com>:
Fix comment typo.
PiperOrigin-RevId: 244659371
--
c6cdb87e9f28062c8daa29b3d8d68182ecc16383 by Derek Mauro <dmauro@google.com>:
Fix -Wundef warnings and support -Wundef.
PiperOrigin-RevId: 244244968
--
06b81245f7696b20c3c63b0618d33ac25e29cad6 by Abseil Team <absl-team@google.com>:
Fix a typo in inlined_vector.h.
PiperOrigin-RevId: 244230809
--
94877a2125d2cfe837384240e4d6551f39d737e4 by Greg Falcon <gfalcon@google.com>:
Fix sysinfo_test for emscripten.
PiperOrigin-RevId: 244198804
--
ec7783531ef7f9df2da37d341d61f7cb2bf843f0 by Shaindel Schwartz <shaindel@google.com>:
Import of CCTZ from GitHub.
Fixes#291.
PiperOrigin-RevId: 244184598
--
b652c14fa95ea206c217487ee713b11f5d1762b3 by Matt Calabrese <calabrese@google.com>:
Emulate the `in_place_index` and `in_place_type` variable templates such that they are syntactically usable in C++11 with `any` and `variant`. Also pull in the variable templates from namespace std when available.
The main observable differences here are:
1)
The types of `in_place_index_t<I>` and `in_place_type_t<T>` become function pointer types rather than structs when using the implementation that is not an alias of the std equivalents.
2)
The types of `in_place_index<I>` and `in_place_type<T>` are not directly `in_place_index_t<I>` and `in_place_type_t<T>`, but rather they become function types that decay to the corresponding function pointer types.
3)
The default constructor for `in_place_index_t` and `in_place_type_t` instantiations is no longer explicit, but for these templates I think that's less important than for something like `in_place_t` since the _type_t and _index_t versions basically never have their template parameter non-deduced when participating in overload resolution with conflicting candidates.
4) While idiomatic usage of `in_place_type_t` and `in_place_index_t` with std::variant and std::any should not be affected, there is the possibility that strange, non-idiomatic uses may be affected in the wild.
5) Default construction (rather than value-initialization) leads to a default-constructed pointer.
PiperOrigin-RevId: 244180003
--
b9ac5a96581837ffa24532117b7ea302a5569751 by Derek Mauro <dmauro@google.com>:
Fix MSVC debug assertion.
isprint is undefined for values not representable as unsigned char or
EOF.
PiperOrigin-RevId: 244083005
--
41758be6137c2f25e84b50f23938e49484be2903 by Shaindel Schwartz <shaindel@google.com>:
Update config settings for Apple platforms.
PiperOrigin-RevId: 244040587
--
c90df6a26db94b0305a0c954455a621542a89d91 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 244024427
--
c71e9ceb89495354eca7d02bd905ffeaa9029aec by Derek Mauro <dmauro@google.com>:
Adds missing ABSL_DEFAULT_COPTS and ABSL_TEST_COPTS to CMakeLists.txt
Don't error on deprecated declarations in tests. It is completely
reasonable to test that code marked deprecated still works.
PiperOrigin-RevId: 244003941
--
e1326a96527a8ba9b8d120161545260da9c4562e by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 243990623
--
90b8e12934c7711e1bfcc0117d21288bf9220dee by Abseil Team <absl-team@google.com>:
Add variation of absl::Base64Escape/WebSafeBase64Escape that directly returns its result.
PiperOrigin-RevId: 243894308
--
317fef3344481ebc5c35712d42f5d8a0fa64dff4 by Abseil Team <absl-team@google.com>:
Enable raw logging in Emscripten builds.
PiperOrigin-RevId: 243893705
GitOrigin-RevId: 5a5dba4252e764e6737070bf0a31074bf23a3b41
Change-Id: I19293aab73cc98d9e9bf6a9fdc30819764adb9db
--
babbb6421068af3831870fd5995444437ace6769 by Derek Mauro <dmauro@google.com>:
Rollback of:
Make raw_hash_set_test less flaky.
Split the timing loop into chunks so that we are less suceptible to
antogantistic processes.
PiperOrigin-RevId: 243854490
--
a2711f17a712f6d09799bf32363d67526737b486 by CJ Johnson <johnsoncj@google.com>:
Relocates IsAtLeastForwardIterator to internal/inlined_vector.h
PiperOrigin-RevId: 243846090
--
6c14cdbeb9a61022c27f8957654f930d8abf2fc1 by Matt Kulukundis <kfm@google.com>:
Make raw_hash_set_test less flaky.
Split the timing loop into chunks so that we are less suceptible to
antogantistic processes.
PiperOrigin-RevId: 243824289
--
ee6072a6b6e0ac653622524ceb09db3b9e870f96 by Samuel Benzaquen <sbenza@google.com>:
Improve format parser performance.
Replace the main switch with a lookup in the existing tag table.
Improve the ABI of ConsumeUnboundConversion a little.
PiperOrigin-RevId: 243824112
--
24b9e6476dfa4be8d644359eab8ac6816492f187 by Abseil Team <absl-team@google.com>:
Fix DR numbers: 3800 ? 3080, 3801 ? 3081.
PiperOrigin-RevId: 243804213
--
0660404074707e197684f07cc0bffe4a9c35cd2f by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 243757359
--
ba0f5bb9b8584d75c4ffc44ff3cb8c691796ffc6 by Xiaoyi Zhang <zhangxy@google.com>:
Consolidate ABSL_INTERNAL_UNALIGNED_* implementation into memcpy.
The compiler should be good enough to optimize these operations.
See https://github.com/abseil/abseil-cpp/issues/269 for background.
PiperOrigin-RevId: 243323941
--
00853a8756548df7217513c562d604b4ee5c6ab9 by Eric Fiselier <ericwf@google.com>:
Reexport memory.h from optional.h for compatibility between libc++ and
libstdc++.
PiperOrigin-RevId: 243313425
GitOrigin-RevId: babbb6421068af3831870fd5995444437ace6769
Change-Id: Ic53c127ad857a431ad60c98b27cc585fed50a3e3
--
3f04cd3c25a99df91ff913977b8c5b343532db5d by Abseil Team <absl-team@google.com>:
Stricter memory order constraints for CycleClock callback.
PiperOrigin-RevId: 242670115
--
216db48375306490f1722a11aaf33080939d9f2f by Abseil Team <absl-team@google.com>:
internal/optional.h: move macro from types/optional.h
ABSL_OPTIONAL_USE_INHERITING_CONSTRUCTORS is only used within this file.
additionally check the macro with #ifdef rather than #if, fixes -Wundef
warning:
'ABSL_OPTIONAL_USE_INHERITING_CONSTRUCTORS' is not defined, evaluates to 0
PiperOrigin-RevId: 242548205
--
fbe22e7d8dc5c0b3d43ac26297e97ddbaeab3d39 by Samuel Benzaquen <sbenza@google.com>:
Implement %f natively for any input.
It evaluates the input at runtime and allocates stack space accordingly.
This removes a potential fallback into snprintf, improves performance, and removes all memory allocations in this formatting path.
PiperOrigin-RevId: 242531736
--
1458f9ba2a79ef0534e46527cd34770dee54164d by Greg Falcon <gfalcon@google.com>:
Add explicit check for NVCC in compressed_tuple.h.
NVCC claims to be MSVC, but does not implement this MSVC attribute.
PiperOrigin-RevId: 242513453
GitOrigin-RevId: 3f04cd3c25a99df91ff913977b8c5b343532db5d
Change-Id: I0742e8619c5248c7607961113e406486bc0e279b
--
fcf9d3facb12451964ad1850073cbfb6f9739379 by CJ Johnson <johnsoncj@google.com>:
Makes it obvious to readers that the comparison operators do not branch more than needed
PiperOrigin-RevId: 240811527
--
680c586f81f805be68e96caffb28d5f46b6a6511 by Jon Cohen <cohenjon@google.com>:
Consistently use "if(" instead of "if (" in CMake files
PiperOrigin-RevId: 240621819
--
c4acc506648622389f33f564fd94f8dda08cb61a by Tom Manshreck <shreck@google.com>:
Internal change
PiperOrigin-RevId: 240619556
--
ddbc1894944aae96767c876a1ae8696ddaba42a2 by Jon Cohen <cohenjon@google.com>:
Remove the warning about install prefixes when we aren't installing abseil
PiperOrigin-RevId: 240614750
--
086c4fad213d99e875038bc8a1c7268e28a7ebf3 by Abseil Team <absl-team@google.com>:
Adjust some tests and test cases which fail on WebAssembly
PiperOrigin-RevId: 240592367
--
46c2c09723a37ef4911ae3c64aab92e3f0fdba79 by Abseil Team <absl-team@google.com>:
CMake install target update
- Add prefix absl_ to each target when install rule are disabled.
- Disable all install commands when absl is used as subdirectory (Fix#287)
PiperOrigin-RevId: 240575083
--
8d88063ed5b16f982a91950693d37ca18fdd46d8 by Jon Cohen <cohenjon@google.com>:
Correctly link to Threads::Threads for a few cmake targets which were missing it.
PiperOrigin-RevId: 240574513
GitOrigin-RevId: fcf9d3facb12451964ad1850073cbfb6f9739379
Change-Id: I031c57de8cd88554348eb8bd1371d01d15ff1fc7
--
bdce7e57e9e886eff1114d0266781b443f7ec639 by Derek Mauro <dmauro@google.com>:
Change {Get|Set}EnvironmentVariable to {Get|Set}EnvironmentVariableA for
compatibility with /DUNICODE.
PiperOrigin-RevId: 239229514
--
2276ed502326a044a84060d34eb19d499e3a3be2 by Derek Mauro <dmauro@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 239228622
--
a462efb970ff43b08a362ef2343fb75ac1295a50 by Derek Mauro <dmauro@google.com>:
Adding linking of CoreFoundation to CMakeLists in absl/time.
Import https://github.com/abseil/abseil-cpp/pull/280.
Fix#283
PiperOrigin-RevId: 239220785
--
fc23327b97f940c682aae1956cf7a1bf87f88c06 by Derek Mauro <dmauro@google.com>:
Add hermetic test script that uses Docker to build with a very recent
version of gcc (8.3.0 today) with libstdc++ and bazel.
PiperOrigin-RevId: 239220448
--
418c08a8f6a53e63b84e39473035774417ca3aa7 by Derek Mauro <dmauro@google.com>:
Disable part of the variant exeception safety test on move assignment
when using versions of libstd++ that contain a bug.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87431#c7
PiperOrigin-RevId: 239062455
--
799722217aeda79679577843c91d5be62cbcbb42 by Matt Calabrese <calabrese@google.com>:
Add internal-only IsSwappable traits corresponding to std::is_swappable and std::is_nothrow_swappable, which are used with the swap implementations of optional and variant.
PiperOrigin-RevId: 239049448
--
aa46a036038a3de5c68ac5e5d3b4bf76f818d2ea by CJ Johnson <johnsoncj@google.com>:
Make InlinedVectorStorage constructor explicit
PiperOrigin-RevId: 239044361
--
17949715b3aa21c794701f69f2154e91b6acabc3 by CJ Johnson <johnsoncj@google.com>:
Add absl namesapce to internal/inlined_vector.h
PiperOrigin-RevId: 239030789
--
834628325953078cc08ed10d23bb8890e5bec897 by Derek Mauro <dmauro@google.com>:
Add test script that uses Docker to build Abseil with gcc-4.8,
libstdc++, and cmake.
PiperOrigin-RevId: 239028433
--
80fe24149ed73ed2ced995ad1e372fb060c60427 by CJ Johnson <johnsoncj@google.com>:
Factors data members of InlinedVector into an impl type called InlinedVectorStorage so that (in future changes) the contents of a vector can be grouped together with a single pointer.
PiperOrigin-RevId: 239021086
--
585331436d5d4d79f845e45dcf79d918a0dc6169 by Derek Mauro <dmauro@google.com>:
Add -Wno-missing-field-initializers to gcc compiler flags.
gcc-4.x has spurious missing field initializer warnings.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750
PiperOrigin-RevId: 239017217
--
94602fe4e33ee3a552a7f2939c0f57a992f55075 by Abseil Team <absl-team@google.com>:
Formatting fixes.
PiperOrigin-RevId: 238983038
--
a1c1b63c08505574e0a8c491561840cecb2bb93e by Derek Mauro <dmauro@google.com>:
Add hermetic test script that uses Docker to build with a very recent
version of clang with libc++ and bazel.
PiperOrigin-RevId: 238669118
--
e525f8d20bc2f79a0d69336b902f63858f3bff9d by Derek Mauro <dmauro@google.com>:
Disable the test optionalTest.InPlaceTSFINAEBug until libc++ is updated.
PiperOrigin-RevId: 238661703
--
f99a2a0b5ec424a059678f7f226600f137b4c74e by Derek Mauro <dmauro@google.com>:
Correct the check for the FlatHashMap-Any test bug (list conditions
instead of platforms when possible)
PiperOrigin-RevId: 238653344
--
777928035dbcbf39f361eb7d10dc3696822f692f by Jon Cohen <cohenjon@google.com>:
Add install rules for Abseil CMake.
These are attempted to be limited to in-project installation. This serves two purposes -- first it's morally the same as using Abseil in-source, except you don't have to rebuild us every time. Second, the presence of an install rule makes life massively simpler for package manager maintainers.
Currently this doesn't install absl tests or testonly libraries. This can be added in a follow-up patch.
Fixes#38, Fixes#80, Closes#182
PiperOrigin-RevId: 238645836
--
ded1c6ce697c191b7a6ff14572b3e6d183117b2c by Derek Mauro <dmauro@google.com>:
Add hermetic test script that uses Docker to build with a very recent
version of clang with libstdc++ and bazel.
PiperOrigin-RevId: 238517815
GitOrigin-RevId: bdce7e57e9e886eff1114d0266781b443f7ec639
Change-Id: I6f745869cb8ef63851891ccac05ae9a7dd241c4f
--
5dc8d7504b7c11710b19365a6582c288c8992366 by Derek Mauro <dmauro@google.com>:
Fix constexpr Span::last under MSVC and add Span constexpr tests.
PiperOrigin-RevId: 237515952
--
5ea8c146e653bbc49ff7e698699478242df7de35 by Derek Mauro <dmauro@google.com>:
Implement Span::first and Span::last from C++20.
https://github.com/abseil/abseil-cpp/pull/274
PiperOrigin-RevId: 237494399
--
08db3417f1d8fe4556255d57a2f0df51b09bdd9a by Derek Mauro <dmauro@google.com>:
HTTPS in more URLs.
PiperOrigin-RevId: 237486823
--
83ec63a7f8e47b62af619546f9f7b3bf72e74e86 by Derek Mauro <dmauro@google.com>:
Changed HTTP URLs to HTTPS where possible.
https://github.com/abseil/abseil-cpp/pull/270
PiperOrigin-RevId: 237445310
--
220bf279c14cb31efa239500d1a70e0ac0c32e3c by Abseil Team <absl-team@google.com>:
Support parsing decltype(nullptr) as a type.
PiperOrigin-RevId: 237336739
--
ced234bbe78f5d495c3f6f6a9c2e0a95f7c080a5 by Gennadiy Rozental <rogeeff@google.com>:
Introduce internal interface for setting environment variable value in scope
PiperOrigin-RevId: 237275806
--
1f1acb4e294af24d9f7598e85163d5e1d9958ae9 by Samuel Benzaquen <sbenza@google.com>:
Avoid using aliases in the SFINAE expressions to make it more compatible with MSVC.
Turn on the tests in MSVC.
PiperOrigin-RevId: 237261456
--
06cf7de6250a0572ef90fa1176f742ca0451ce71 by Derek Mauro <dmauro@google.com>:
Fix unused variable warning.
PiperOrigin-RevId: 237108006
GitOrigin-RevId: 5dc8d7504b7c11710b19365a6582c288c8992366
Change-Id: Ife5182c80942945c4e8700844c8febb482d6ad82
--
f9f068aa8a260dc576398e47b8e4540902e41358 by Derek Mauro <dmauro@google.com>:
Fix test string with embedded NUL. Currently parses as octal.
PiperOrigin-RevId: 237088193
--
d271ffdd3f450f817f6d30e98ff39d439aaf3a98 by Abseil Team <absl-team@google.com>:
Make symbolizer examine any mapping with read+exec permission regardless of 'w' bit.
PiperOrigin-RevId: 237056461
--
af315f8306d36a7367a452fd0b58cafdbf20719d by Abseil Team <absl-team@google.com>:
Switch comments referencing base:: CondVar and Mutex to absl::.
PiperOrigin-RevId: 236917884
--
c624d5d1c0bdb917bff5e651ba40599472f84e0e by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 236898300
--
3cdc82429af964846d1152f49148abc61d196a4b by Samuel Benzaquen <sbenza@google.com>:
Make the `long double` overload if AbslHashValue a template to avoid invalid
conversions with implicit operators.
This overload was never meant to capture anything other than `long double` and any current caller to it that wasn't a `long double` is potentially a bug.
In particular, any type with an implicit `bool` conversion is calling this
overload instead of trying to find a hash<> specialization, thus causing
pretty bad hash behavior.
PiperOrigin-RevId: 236877073
GitOrigin-RevId: f9f068aa8a260dc576398e47b8e4540902e41358
Change-Id: If9cc008dd814f0ca06ed881f612c06575f1f7137
--
6fdf24a197b964f9bacbebd0ceca305aef1654fc by Shaindel Schwartz <shaindel@google.com>:
Internal change
PiperOrigin-RevId: 231627312
--
65f7faf52bff01384171efb85fee159378dedf70 by CJ Johnson <johnsoncj@google.com>:
Relocates the definitions of the InputIterator-accepting parts of the InlinedVector API into the top-level. The removed functions had no other callers so there was no reason to keep the layer of indirection in the form of the function call.
PiperOrigin-RevId: 231527459
--
30e105b749b5ecc50fdaf26c7da589617efce425 by CJ Johnson <johnsoncj@google.com>:
Relocates closing brace for absl namespace in InlinedVector to the correct end location
PiperOrigin-RevId: 231477871
--
063c1e8b9d1f032662c46d574e20ecc357b87d0c by Eric Fiselier <ericwf@google.com>:
Cleanup std::hash probing metafunctions.
Previously there were two different ways to probe for
std::hash. One in hash.h and another in type_traits.h,
and they were both implemented differently, and neither
correctly worked around bad STL implementations.
This patch unifies the implementations into a single IsHashable trait.
It also:
* Correctly checks for old libc++ versions where this won't work.
* Avoids undefined behavior which resulted from calling std::is_constructible
incomplete types.
* Unifies the feature test macro used in the headers and the tests.
Additionally it also slightly changes the behavior of when absl::variant
is hashable. Previously we disable hashing when std::hash<T>()(key) was
formed but when std::hash<T> couldn't be destructed. This seems wrong. If a
user provides a evil specialization of std::hash, then it's OK for variant's
hash to blow up.
PiperOrigin-RevId: 231468345
--
05d75dd4b07c893de9b104731644d0d207b01253 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 231397518
--
a0ee9032f9e04039f3410ed17fcf45ae1a3868f5 by CJ Johnson <johnsoncj@google.com>:
Remove unused EnableIfAtLeastInputIterator from InlinedVector
PiperOrigin-RevId: 231348903
--
4dcd4e9a6780a81d7a6974c7bf22a037e6482b49 by Abseil Team <absl-team@google.com>:
Remove unnecessary register keyword from absl/base/internal/endian.h.
PiperOrigin-RevId: 231316570
--
c8584836caa3a10f90a8604a85d4b831310b72ee by Abseil Team <absl-team@google.com>:
Fix hashtablez_sampler compilation on older Android NDK builds
PiperOrigin-RevId: 231283542
GitOrigin-RevId: 6fdf24a197b964f9bacbebd0ceca305aef1654fc
Change-Id: I185b12fb8347e3ad0ffcb2cbb83a53450e5eb938
--
5804cc13b413412988248835459b90cd15ec43d9 by Abseil Team <absl-team@google.com>:
Mark raw_hash_set::clear() with the ABSL_ATTRIBUTE_REINITIALIZES attribute.
This prevents false positives in the clang-tidy check bugprone-use-after-move;
it allows reset() to be called on a moved-from raw_hash_set without any
warnings, and the raw_hash_set will thereafter be regarded as initialized again.
PiperOrigin-RevId: 230717196
--
ff5961a5600ae19b69a9cba6912126cdf2858f38 by CJ Johnson <johnsoncj@google.com>:
Swaps DisableIfIntegral<> for EnableIfInputIterator<> for Iterator member functions of InlinedVector
PiperOrigin-RevId: 230559521
--
3f9754ccbeecbd40f235c6f2465279e045ff51d9 by Derek Mauro <dmauro@google.com>:
Import GitHub PR 254
https://github.com/abseil/abseil-cpp/pull/254
Fixes warnings from -Wclass-memaccess (base_internal::ThreadIdentity?
with no trivial copy-assignment).
PiperOrigin-RevId: 230536048
--
8af03a654ce9a4a7f55384bc7eb1ed64878ac2ec by Chris Kennelly <ckennelly@google.com>:
absl: cap SpinLock backoff to 4ms
The current backoff logic has 3 problems:
1. It can produce too high values (up to 256ms), which can negatively
affect tail latency. The value was chosen long time ago and now it's
a good idea to reconsider it.
2. It does not have low bound, so on any iteration it can produce
a very small value that will lead to unnecessary cpu consumption.
3. It does not increase low bound with the number of iterations.
So if the SpinLock is actually somehow locked for a very prolonged time,
a waiter can still wake periodically.
Rework the logic to solve these problems.
Add lower bound of 128us, no code should rely on absence of episodic
delays in this range as they can occur everywhere.
Lower upper bound to 4ms. A thread sleeping for 4ms does not consume
significant cpu time (see below).
Grow lower bound with the number of iterations.
This is cpu consumption of a process doing usleep(x) in a loop
(sampled with ps):
64us -> 4.0%
128us -> 2.7%
256us -> 3.5%
512us -> 2.8%
1024us -> 1.6%
2048us -> 0.6%
4096us -> 0.3%
8192us -> 0.0%
Few millisecond sleeps do not consume significant time.
PiperOrigin-RevId: 230534015
--
37ebba92289ca556cb2412cd8b3cb4c1ead3def7 by Samuel Benzaquen <sbenza@google.com>:
Add override and dispose hooks to the hashtable sampler.
PiperOrigin-RevId: 230353438
--
89c8f90175233ce9964eb3412df04e8a3cff0c0f by Andy Getzendanner <durandal@google.com>:
Fix a comment typo.
PiperOrigin-RevId: 229986838
GitOrigin-RevId: 5804cc13b413412988248835459b90cd15ec43d9
Change-Id: Iedb5e2cc9c0b924635c1c87b537780ab6b5b899f
--
5f1cf6547231f1b1daad6d1b785df6b0b999b3c9 by Samuel Benzaquen <sbenza@google.com>:
Fix uninitialized member in the `iterator` class by using a union of the two
possible states of the iterator.
This silences a Wuninitialized warning in gcc>=7.
PiperOrigin-RevId: 228175148
--
98b4e3204c0ec3cfd4cb037e24d443ea4b63fc84 by CJ Johnson <johnsoncj@google.com>:
Factors out the implementation of InlinedVector::swap(...) into a private member function
PiperOrigin-RevId: 228173383
--
f1432ad3a8b05285c6d55bc4754cfae765485b7f by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 227891984
--
03fc00c7a4efc6000e6d9125cb2e252bffda76fe by Andy Getzendanner <durandal@google.com>:
Add a missing linebreak to a comment and markdownify two unordered lists.
PiperOrigin-RevId: 227861389
--
0d66c9afba4fc9aa52e61d9fb410e165018a7b48 by Abseil Team <absl-team@google.com>:
Add an API to register a new source for the cycle clock.
PiperOrigin-RevId: 227779218
--
14d3f9b70c8818b8541e5fb2f6ca4c59d479de31 by Andy Getzendanner <durandal@google.com>:
Correct a typo in a stripping marker.
PiperOrigin-RevId: 227750014
--
59df88740f4e315beb57a8772f8bcf7879440c74 by Matt Kulukundis <kfm@google.com>:
Switch thread local handling to be more cross platform
PiperOrigin-RevId: 227695133
--
75deed5bfcb5c42534e933f104aa7d94e11e348d by Abseil Team <absl-team@google.com>:
Rollback workaround toolchain bug for incorrect handling of thread_local in inline
functions
PiperOrigin-RevId: 227689133
--
54994bf0afec026e6e0e7a199df0bbb4b7d9a4aa by Derek Mauro <dmauro@google.com>:
Add -pthread to linkopts where it actually belongs, on the library
that uses it.
Fixes https://github.com/abseil/abseil-cpp/issues/240.
PiperOrigin-RevId: 227612492
--
893875f3536b7e0a1bad993aa6b2e083abb3b25a by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 227582833
--
506c9b8e9002ca3389c7040473b68d4cbf94bdcc by Matt Kulukundis <kfm@google.com>:
Workaround toolchain bug for incorrect handling of thread_local in inline
functions
PiperOrigin-RevId: 227561449
--
29ee90d96dfe3114cf93f9bb92ea0cc9e768a407 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 227054634
GitOrigin-RevId: 5f1cf6547231f1b1daad6d1b785df6b0b999b3c9
Change-Id: Ibc90566d92ee6e0ad7e150f513ec7f5d22ec0a94
--
cd076f55c1fa600131f6dda392533dfe61679fc0 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 224008762
--
e05f62b01286d51044ff86ec6ef565749b9faf82 by Abseil Team <absl-team@google.com>:
Create a pow10() test helper function to compute guaranteed-precise double values of 10^x. Not all standard libraries ship bit-accurate pow() functions, causing tests to fail that rely on expected values generated by it.
PiperOrigin-RevId: 223883762
--
fd88e5e3f7ab80f7f5df9fd1488cd58b4573be69 by Abseil Team <absl-team@google.com>:
Remove some absl:: qualifications to work around inline namespace bugs on MSVC 2015.
PiperOrigin-RevId: 223869642
--
6276cfff969d596edd36a2bbaba65ee045808903 by Abseil Team <absl-team@google.com>:
Update absl/memory/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 223854224
--
359de9afc7a34c975fd3e0cbc52afd96637d97bd by Chris Kennelly <ckennelly@google.com>:
Mark spinlock_benchmark_common as alwayslink = 1.
PiperOrigin-RevId: 223844536
--
450cd8cbe2789a6d54ed1eb87170259bb334f8b9 by Abseil Team <absl-team@google.com>:
Support .* (pointer-to-member dereference) expressions in demangle.cc.
PiperOrigin-RevId: 223826797
--
772ca92179c3634f3e31a80bbc272ed8022e3572 by Abseil Team <absl-team@google.com>:
Fix misspellings in absl::variant comments and replace a ' with a `.
PiperOrigin-RevId: 223807911
--
35dcdc2fbf299d195658aac101887f6dcad1de2f by Abseil Team <absl-team@google.com>:
Bug fix in CMakeLists.txt file (SRCS --> HDRS).
The compressed_tuple header-only library is being defined
with the SRCS parameter instead of the HDRS parameter and
this has been observed to cause some builds on some platforms
to attempt to create a static library from it which fails
since there are no .cc sources.
PiperOrigin-RevId: 223805367
--
4a57a3d2045bb137c0c97958e45ce425190b8d3e by Chris Kennelly <ckennelly@google.com>:
Add test that absl::make_unique value initializes memory.
PiperOrigin-RevId: 223801819
--
dfe8289d7f4dcc6bb568a26aaf192a89e896bdfd by Chris Kennelly <ckennelly@google.com>:
SpinLock: Use exchange to avoid missing wakeups.
The default fast path for SpinLock::Unlock does not use an atomic. If the
SpinLock becomes contended while we are unlocking between lockword_.load and
lockword_.store, we will fail to wake up the new waiter. This can cause
unexpected latency spikes.
PiperOrigin-RevId: 223800369
--
9b9d35df786482f0016f77dd31691eff81503d23 by Abseil Team <absl-team@google.com>:
Update absl/hash/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 223755819
--
c2014e2704b87e7cdce2d2a0287c7e2397752296 by Abseil Team <absl-team@google.com>:
Update absl/debugging/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 223751986
--
d83a4e09126400e3fd80645cb03ee558f532271e by Derek Mauro <dmauro@google.com>:
Cleanup synchronization benchmarks.
PiperOrigin-RevId: 223589416
--
fad140b473586531b5b12843f942ec27dfcf5e93 by CJ Johnson <johnsoncj@google.com>:
Makes unifies the order of forward_iterator and input_iterator overloads
PiperOrigin-RevId: 223580660
--
6cd7c96faa7cc5f79f574e35a1b13837ef187d05 by Abseil Team <absl-team@google.com>:
Internal Change.
PiperOrigin-RevId: 223561629
--
bd2e545356b0f548af0e3c14bb2f7f0e712e49d0 by Shaindel Schwartz <shaindel@google.com>:
Remove misleading comments. try_emplace() does not exist for the hash_set containers.
PiperOrigin-RevId: 223543089
--
0cd380a53b587eb7aacc4003a4a3bbb6c78d7c10 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 223512551
--
7156dfee599cb72e9adddfe0e6ae07a95ddf10bb by Greg Miller <jgm@google.com>:
Fixes UB that would result from constructing, multiplying, or dividing a
Duration with a double "NaN" value. This CL changes the absl::Duration
*implementation* to return an InfiniteDuration value that has the same sign as
the given NaN.
PiperOrigin-RevId: 223407499
--
196b7d18609958267951882baf7f9429e49bcafa by CJ Johnson <johnsoncj@google.com>:
Addresses NVCC+MSVC compilation bug where `inlined_capacity()` was not considered valid in constexpr
PiperOrigin-RevId: 223397718
GitOrigin-RevId: cd076f55c1fa600131f6dda392533dfe61679fc0
Change-Id: I5423ca6470f661a7c6f73aa8fee49990446f157f
--
da04b8cd21f6225d71397471474d34a77df0efd6 by Jon Cohen <cohenjon@google.com>:
Don't use std::any, std::optional, std::variant, and friends on MacOS versions older than 10.14.
Although Xcode 10 includes those headers and makes the types available to use, according to https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes, on MacOS 10.13 and earlier use of any functions (std::get, for example) results in an error message to upgrade to MacOS 10.14.
This fixes https://github.com/abseil/abseil-cpp/issues/207. See that issue for more information on the error generated.
PiperOrigin-RevId: 221844618
--
1d99f77b4c60c5b0d7984f46e8ed63a3f969c635 by Jon Cohen <cohenjon@google.com>:
raw_hash_set_test is still flaky under gcc 4.8. Since we now have the probe_test, we don't need the PerfectRatio tests. Just remove them.
PiperOrigin-RevId: 221843042
--
135cbb2a5d90963256518b3b59fe6710815e5dfa by Abseil Team <absl-team@google.com>:
Update absl/algorithm/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 221828348
--
1a5abde4f17f998ae89d87155d59f982a70202d8 by Jon Cohen <cohenjon@google.com>:
Internal change
PiperOrigin-RevId: 221708245
--
e03e031d4de39275989f695c768b0940cce1ff16 by Matt Armstrong <marmstrong@google.com>:
Log to FATAL in throw_delegate.h
ABSL_RAW_LOG(FATAL, ...) is guaranteed to abort.
Previously, the code was logging to ERROR and
calling abort() explicitly, which defeated any
integration with absl::raw_logging_internal::AbortHook().
These changes are limited to Abseil internal APIs.
PiperOrigin-RevId: 221696513
--
d13691523a3f9a5367fd1194cf9604bf4a969029 by Shahriar Rouf <nafi@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 221694877
--
f4044c56d44ba0ac2a9f218ed55f1b1f9e985eae by Abseil Team <absl-team@google.com>:
Update absl/base/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 221676669
GitOrigin-RevId: da04b8cd21f6225d71397471474d34a77df0efd6
Change-Id: If6621e10d096a39b6a056a072c2727a0df0b0620
--
5f1ab09522226336830d9ea6ef7276d37f536ac5 by Abseil Team <absl-team@google.com>:
Clarify the documentation of ABSL_MUST_USE_RESULT.
PiperOrigin-RevId: 221663609
--
af4c8359a20d56369fd1dce318220cf3be03ca66 by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 221538448
--
487cd09bd1942bf607080deeae38fee6ce66f294 by Eric Fiselier <ericwf@google.com>:
Work around emscripten bugs and missing features in absl/time:time_test.
The emscripten toolchain has a couple of issues that cause time_test
to fail. Specifically:
1) emscripten doesn't support signals.
2) The javascript implementation of strftime/strptime use different expansions
of '%c' that mean it doesn't round-trip.
PiperOrigin-RevId: 221523701
--
5823652e6a200b97b07334bc47128dfac40e20fc by Xiaoyi Zhang <zhangxy@google.com>:
Fix MSVC compiler warning by explicitly casting to char.
Currently our MSVC build breaks with the following error:
raw_hash_set.h(406): warning C4309: 'argument': truncation of constant value
PiperOrigin-RevId: 221492585
--
c5806358320711a5efbe5c523df13e14ab53a17d by Greg Falcon <gfalcon@google.com>:
Replace calls to getpagesize() with the more portable sysconf(_SC_PAGESIZE); the latter is in POSIX 1.0 and is called out in the Linux `getpagesize` man page as a more portable spelling.
PiperOrigin-RevId: 221492471
--
19ffe82851072229bb7ce73f754ffe4c18e8c575 by Abseil Team <absl-team@google.com>:
Fix -Wundef error in absl/hash/internal/hash.h.
PiperOrigin-RevId: 221444120
--
b30f3d0a848563b6e4ec33f3dc085831dfabb748 by Jon Cohen <cohenjon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 221339736
GitOrigin-RevId: 5f1ab09522226336830d9ea6ef7276d37f536ac5
Change-Id: I96223d522d98bf6616dea88eb047c2d536eeddd0
--
178e7a9a76fc8fcd6df6335b59139cbe644a16b9 by Jon Cohen <cohenjon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 220523164
--
59ef14fe7034a3148f1e9cef1f128b8ca264b444 by Jon Cohen <cohenjon@google.com>:
Don't assume how much std::vector's constructors allocate in InlinedVector's test for scoped_allocator_adaptor support.
PiperOrigin-RevId: 220464683
--
6f8351be43a44a8f10bf20612b2cc744a4a911c7 by Jon Cohen <cohenjon@google.com>:
Add VS Code and some Bazel output files to absl/.gitignore
PiperOrigin-RevId: 220464362
--
43fac22f8af6b6ed55309a784a9d25d837393d0e by Abseil Team <absl-team@google.com>:
absl: fix SpinLock::EncodeWaitCycles
If a thread has ever observed or set kSpinLockSleeper, it must
never leave 0 in kWaitTimeMask because at this point it is
expected to wake subsequent threads. Current calculations in
EncodeWaitCycles can result in 0 in kWaitTimeMask and lead to
missed wakeups. This is mostly theoretical today, because
the futex call needs to finish within 128 cycles (futex can
return immediately without waiting, but 128 cycles still
look too low for this). But this can well fire in future
if we bump granularity and/or threshold for recording contention.
Use kSpinLockSleeper instead of 0.
PiperOrigin-RevId: 220463123
--
def9b7e3d45c99d68cc52a4429256116d7f421f2 by Abseil Team <absl-team@google.com>:
absl: optimize SpinLock::SlowLock
Currently we record contention even after the first initial spin.
This leads to several performance issues:
1. If we succeed in acquiring the lock after the initial spin,
overall wait time can be within tens/hundreds of nanoseconds.
Recording such low wait time looks completely unnecessary and excessive.
From some point of view this is not even a wait, because we did not sleep.
And, for example, Mutex does not record contention in this case.
In majority of cases the lock should be acquired exactly during the initial
spin, yet we still go through full overhead of submitting contention.
2. Whenever a thread submits contention it also calls FUTEX_WAKE
(there is no way to understand if it's necessary or not when wait value
is stored in the lock). So if there are just 2 threads and a brief
contention, the second thread will still call FUTEX_WAKE which
is completely unnecessary overhead.
Don't record contention after the initial spin wait.
FWIW this also removes 2 CycleClock::Now calls and EncodeWaitCycles
from the common hot path.
PiperOrigin-RevId: 220379972
--
75b0c0cb214de904ea622f81ec3f4eabdc8695b0 by Derek Mauro <dmauro@google.com>:
Supress MSVC warnings in raw_hash_set's use of TrailingZeros and LeadingZeros.
https://github.com/abseil/abseil-cpp/issues/208
PiperOrigin-RevId: 220372204
GitOrigin-RevId: 178e7a9a76fc8fcd6df6335b59139cbe644a16b9
Change-Id: I3a66af4e050810a3274e45d4e055b2aa19ffba1b
--
ee19e203eca970ff88e8f25ce4e19c32e143b988 by Jon Cohen <cohenjon@google.com>:
Exception safety testing no longer uses absl::optional
PiperOrigin-RevId: 220336204
--
460666eb0b316a8b4aeedc589644d53b05251bd1 by Derek Mauro <dmauro@google.com>:
Rework SwissTable SSE2 support
- Use SSE2 on MSVC when available
https://github.com/abseil/abseil-cpp/issues/210
- Emulate _mm_cmpgt_epi8 with other SSE2 instructions when using
-funsigned-char under GCC
https://github.com/abseil/abseil-cpp/issues/209
PiperOrigin-RevId: 220312351
--
1f4318ecedf8d539b7b698eb803d613ad6b69278 by Abseil Team <absl-team@google.com>:
Change CollectPerfectRatios to use 10 trials to smooth out the outliers in the
sample.
PiperOrigin-RevId: 220286579
--
6755abc2673553a7f578bb29c6e9ca8d991bc9c8 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 220274307
--
8645b6187329ebf0aaf3c2de2888ba44466cd879 by Abseil Team <absl-team@google.com>:
* #endif for a header guard should reference the guard macro in a comment
PiperOrigin-RevId: 220206868
--
3987a7ad11319230910931cd2468b60b3fd1b85c by Gennadiy Civil <misterg@google.com>:
Internal Change
PiperOrigin-RevId: 220136674
--
cc908c1db2ee0d4523dc813e33f600583bb986c5 by Abseil Team <absl-team@google.com>:
absl: fix backoff logic in SpinLockWait
There are 3 bugs in loop variable handling:
1. It starts with 0, but AbslInternalSpinLockDelay ignores loop == 0.
So it does not actually wait when it should.
2. loop is incremented after successful state changes,
but it should not (why would be increase backoff delay after that?).
3. loop is incremented after CAS failures,
but it should not (why would be increase backoff delay after that?).
Use the same handling of loop as used in SpinLock.
PiperOrigin-RevId: 220136079
--
a0a1c6ef5910ebd28e07215d7df03cc0da0b3eed by Abseil Team <absl-team@google.com>:
absl: relax unnecessarily strong memory ordering in SpinLock::SlowLock
We don't need to acquire visibility over anything when setting kSpinLockSleeper.
Replace the confusing and unnecessarily strong memory order with relaxed.
PiperOrigin-RevId: 220023380
--
c50858b51af28b9fca1a62616324f85f3e84ea74 by Tom Manshreck <shreck@google.com>:
Update comments in flat_hash_map, node_hash_{set, map} and the containers developer guide
PiperOrigin-RevId: 219938692
--
e87b7d1a5f61e165b1c44d3b16d8d967197cdfce by CJ Johnson <johnsoncj@google.com>:
Rearranges the public methods of InlinedVector and cleans up the comments
PiperOrigin-RevId: 219896257
--
f3234c466f792e0fc4bfd21fc7919dba5e679375 by CJ Johnson <johnsoncj@google.com>:
Adds branch prediction to exceptional early exit cases of inlined vector's API
PiperOrigin-RevId: 219887173
--
4dfccf1a81ca0425912d3da25a8470f78c532ce4 by CJ Johnson <johnsoncj@google.com>:
Fixes the InlinedVector public interface to use the allocator type references instead of assuming the type
Also cleans up some cruft in formatting and comments
PiperOrigin-RevId: 219878876
--
4bb6a2b892abb10bd6a424db7e94ed8640802470 by Tom Manshreck <shreck@google.com>:
Add comments on constructor and assignment operator support to flat_hash_set
PiperOrigin-RevId: 219825338
--
c23f973e2f7f4feea0da36bf8a9c3f8a8954bb74 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 219823847
GitOrigin-RevId: ee19e203eca970ff88e8f25ce4e19c32e143b988
Change-Id: I288c927ca481dc57340420dbb4c278a05cf15e83
--
ba4dd47492748bd630462eb68b7959037fc6a11a by Abseil Team <absl-team@google.com>:
Work around nvcc 9.0 compiler bug for open-source Tensorflow build.
With the current implementation, when I (unintentionally and transitively)
include absl/types/optional.h in a CUDA compilation unit, I get the following
nvcc error message:
INFO: From Compiling tensorflow/core/kernels/crop_and_resize_op_gpu.cu.cc:
external/com_google_absl/absl/types/optional.h: In member function 'void absl::optional_internal::optional_data_dtor_base<T, <anonymous> >::destruct()':
external/com_google_absl/absl/types/optional.h:185:50: error: '__T0' was not declared in this scope
data_.~T();
I've also seen similar compilation failures online, for flat_hash_map:
https://devtalk.nvidia.com/default/topic/1042599/nvcc-preprocessor-bug-causes-compilation-failure/
The bug is always around unnamed template parameters. Therefore, the workaround is to make them named.
PiperOrigin-RevId: 219208288
--
dad2f40cb2e8d5017660985ef6fb57f3c3cdcc80 by CJ Johnson <johnsoncj@google.com>:
Adds internal macros for catching and throwing unknown exception types
PiperOrigin-RevId: 219207362
--
0a9840328d2d86e8420b853435fdbf1f7a19d931 by Abseil Team <absl-team@google.com>:
Fix typo in mutex.h comments.
PiperOrigin-RevId: 219199397
--
0d576dc7597564210bfdf91518075064756f0bf4 by Matt Calabrese <calabrese@google.com>:
Internal change.
PiperOrigin-RevId: 219185475
--
66be156095571959fb19a76da8ad0b53ec37658e by Abseil Team <absl-team@google.com>:
Fix alignment conformance for VS 2017 >= 15.8 (fix#193)
PiperOrigin-RevId: 219129894
--
a6e1825a12587945f8194677ccfdcaba6f7aad1d by Abseil Team <absl-team@google.com>:
Reapply PR #173
PiperOrigin-RevId: 219129361
--
cf72ade4881b25acc6ccaea468f69793a0fdce32 by Abseil Team <absl-team@google.com>:
Update .gitignore
PiperOrigin-RevId: 219127495
--
0537490c6348a2cb489abe15638928ac5aa6982a by Jon Cohen <cohenjon@google.com>:
Small refactor and reformat of error messages from the exception safety test framework.
PiperOrigin-RevId: 218927773
--
4c556ca45fa25698ad12002a00c713aeceefab73 by CJ Johnson <johnsoncj@google.com>:
Updates the inlined vector swap tests to check for number of moves that took place if available
PiperOrigin-RevId: 218900777
--
dcbfda0021a1e6dfa9586986b1269c06ec394053 by Mark Barolak <mbar@google.com>:
Add parens around calls to std::numeric_limits<>::min and
std::numeric_limits<>::max to prevent compilation errors on Windows platforms
where min and max are defined as macros.
PiperOrigin-RevId: 218888700
GitOrigin-RevId: ba4dd47492748bd630462eb68b7959037fc6a11a
Change-Id: I0e393958eb8cb501b85f6114979f6d4d86ed996c
--
441d1aa02483cdc510eb2fef012b31384fd8e3a6 by Eric Fiselier <ericwf@google.com>:
Fix str_format with non-POSIX libc implementations.
PiperOrigin-RevId: 218441122
--
da6190130e74222af6eb161a5593364341370370 by Jon Cohen <cohenjon@google.com>:
Refactor ExceptionSafetyTester::Test in order to remove the levels of indirection related to unpacking tuples.
PiperOrigin-RevId: 218403355
GitOrigin-RevId: 441d1aa02483cdc510eb2fef012b31384fd8e3a6
Change-Id: I6f6b978eb96fe261e8ee41ecdce185e5356a601d
--
1c1d6e2404dfc6caa022b335df5acdac6da50fe1 by Derek Mauro <dmauro@google.com>:
Fix the internal namespacing in unaligned_access.h
PiperOrigin-RevId: 215434506
--
17d4400aebf025a230690fc1c7a968ef8d85bbba by Eric Fiselier <ericwf@google.com>:
gtest depends on the GCC extension allowing variadic macros
to be passed a empty parameter pack for ..., but LLVM diagnoses
this as a GNU extension.
This patch suppresses the warning when building the absl tests.
PiperOrigin-RevId: 215426161
--
f2c49dde23a9f445b9de963f1bbe840ebb568b30 by Eric Fiselier <ericwf@google.com>:
Use EXPECT_DEATH_IF_SUPPORTED instead of EXPECT_DEATH.
This avoids breaking the test when gtest doesn't support
death tests.
PiperOrigin-RevId: 215423849
--
cd687c1e121709603f4fc3726b534f6a9c52cc89 by Eric Fiselier <ericwf@google.com>:
Disable LLVM's -Wmissing-variable-declarations in tests.
GCC's configuration already disables this via -Wno-missing-declarations,
this change makes LLVM do the same.
The warning would otherwise flag most tests which use ABSL_FLAG.
PiperOrigin-RevId: 215407429
--
d14098824c84e3a8c8f6fb920e0335fb48fe2010 by Eric Fiselier <ericwf@google.com>:
Fix local variable shadowing in city hash implementation.
PiperOrigin-RevId: 215407249
--
4b5e140ba743f0d231790a26c49083abb4329e2c by Abseil Team <absl-team@google.com>:
Make raw_hash_set::reserve 2X fast when reserve doesn't do any allocation.
Make raw_hash_set::reserve ~1% faster when reserve does some (128~4k) allocation.
PiperOrigin-RevId: 215348727
--
461161e65e04b801480aa117af2534c594654ccf by Eric Fiselier <ericwf@google.com>:
Internal change
PiperOrigin-RevId: 215272283
--
50413ae31ad3d3a177257416acd8ede47a17bff2 by Eric Fiselier <ericwf@google.com>:
Internal Change
PiperOrigin-RevId: 215233183
--
477be54c43d61019a8fe4e190e340eb52737d383 by Abseil Team <absl-team@google.com>:
Clarify misleading comment on ABSL_ATTRIBUTE_UNUSED
PiperOrigin-RevId: 215185496
--
2cafa2b5287507d3a946682aee9ab13af6d471c9 by Matt Kulukundis <kfm@google.com>:
Add support for absl::Hash to various absl in types.
PiperOrigin-RevId: 215039569
--
082248901991aa3d29be0ea3689c7f213cf0fd83 by Derek Mauro <dmauro@google.com>:
Remove an instance of HAS_GLOBAL_STRING from hash_function_defaults.h
PiperOrigin-RevId: 214989094
--
b929f61907f0786a6133e3a9d7287e339c0a0acb by Derek Mauro <dmauro@google.com>:
Internal import of Github #174
Fix code snippet in comment
https://github.com/abseil/abseil-cpp/pull/174
PiperOrigin-RevId: 214958849
--
f2c5e829eca11c352e121f56eefbf87083305023 by Derek Mauro <dmauro@google.com>:
Internal import of GitHub #173
Fix CMake build for absl::container.
https://github.com/abseil/abseil-cpp/pull/173
PiperOrigin-RevId: 214957796
--
d704f860f9fddafb99e34e6c5032e49f73874e10 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 214828181
GitOrigin-RevId: 1c1d6e2404dfc6caa022b335df5acdac6da50fe1
Change-Id: I551de2b1ba0cbaf6856cd5959358cf6651179dea
--
eca34da4ccb7bb6a580f1364dff9ca053418fa3b by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 214305433
--
35393bdd21a87c4286f945fd34dda93afc4e0cd6 by Abseil Team <absl-team@google.com>:
Move some implementation details of string_view around to facilitate compiling on NVCC.
Abseil does not officially support NVCC as a reminder.
PiperOrigin-RevId: 214184876
--
61846cab9ab9476a4676ecade7173f68978cd038 by Jorg Brown <jorg@google.com>:
Move the initialization values for constants back to their declaration.
PiperOrigin-RevId: 214135927
--
7ac7df6c5f78f2faf419268c04618b936cb26065 by Abseil Team <absl-team@google.com>:
Performance improvements on format parser.
PiperOrigin-RevId: 214032366
--
90b4c0cf20e9feaa257a7ece40adaf7db40a60a7 by Xiaoyi Zhang <zhangxy@google.com>:
Add static_assert check to absl::visit to make sure all overloads of the visitor return the same type, as required by the C++ standard.
PiperOrigin-RevId: 213677001
--
787995342101b4c181291cde9ecea3048536e4bd by Abseil Team <absl-team@google.com>:
Update comment to indicate finite durations are less than InfiniteDuration.
PiperOrigin-RevId: 213660328
--
d78f0dce7cc31218807e96d93b9e8513b6c80b24 by Jon Cohen <cohenjon@google.com>:
s/invariant/contract in the exceptions safety testing framework. This is a better term as these can be type invariants or function post conditions. They also are very similar ground as to what is covered by c++20 Contracts (and could even be replaced by them.
PiperOrigin-RevId: 213631019
--
0b3ff1a640de9a7391a6c233568802cf86245b0e by Abseil Team <absl-team@google.com>:
Add noinline attribute for GetStackTrace/GetStackFrames/... so the skipped frames will not change because of inlining difference.
PiperOrigin-RevId: 213009637
GitOrigin-RevId: eca34da4ccb7bb6a580f1364dff9ca053418fa3b
Change-Id: Iff1022fd24e440fcbdf3c4ab2a915ca8954daa31
--
821196cfb2a3b943ffdc4c9e75daec92d7ffb28b by Abseil Team <absl-team@google.com>:
Performance improvements
PiperOrigin-RevId: 212668992
--
704858e2e767016bad27d53eec01d9d48e546b23 by Abseil Team <absl-team@google.com>:
Low-level Portability enchancements for Abseil Mutex on WebAssembly.
Emscripten Pthreads do not use signals, so remove use of pthread_sigmask or
other async-signal-safe related handling code.
PiperOrigin-RevId: 212527958
--
be3e38cb4d493b755132d20c8c2d1a51e45d5449 by Jon Cohen <cohenjon@google.com>:
Internal change.
PiperOrigin-RevId: 212523797
GitOrigin-RevId: 821196cfb2a3b943ffdc4c9e75daec92d7ffb28b
Change-Id: I5694e23e4e09364a15dd6fc4e2e3f15e38835687
--
74c1330e29f1501f2738258faf9ec4564395c90a by Gennadiy Civil <misterg@google.com>:
Merging https://github.com/abseil/abseil-cpp/pull/166
PiperOrigin-RevId: 212487256
--
4ac236574ff8fb3cc1125505292b0bd8c8192da9 by Abseil Team <absl-team@google.com>:
Allow c_move to take rvalue containers.
PiperOrigin-RevId: 212458618
--
ce94e23984870db666d4c91623ae45b3c60b5b61 by Matt Armstrong <marmstrong@google.com>:
Internal change.
PiperOrigin-RevId: 212153041
--
7d88d286821c5839934756dd63a704ed162c49cb by Chris Kennelly <ckennelly@google.com>:
Internal change
PiperOrigin-RevId: 211982309
--
ddae814b3f609948c20551ea3d80bf51b973f480 by Abseil Team <absl-team@google.com>:
Remove unused argument from InlinedVector's AllocatorAndTag
This is not part of InlinedVector's public interface.
PiperOrigin-RevId: 211973017
--
051fbfd81648a8da66c62c6603af63038d709c15 by Abseil Team <absl-team@google.com>:
Minor performance fix
PiperOrigin-RevId: 211820453
--
c205cb2add7400bc8caf2131cb700eea560b7dbf by Laramie Leavitt <lar@google.com>:
Make absl::Span a tiny bit more consistent.
Add constexper to equivalent absl::Span members as described by
http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0122r7.pdf
* Span constructor use consistently delegate to Span(ptr, length)
* Mark more member methods as constexpr.
* Use data() and size() consistently in member methods.
PiperOrigin-RevId: 211707244
--
55500c9e941f2f58f4a95c121f32772408866eee by Derek Mauro <dmauro@google.com>:
Stop catching polymorphic exception types by value.
GCC 8 emits a warning for this.
PiperOrigin-RevId: 211684466
GitOrigin-RevId: 74c1330e29f1501f2738258faf9ec4564395c90a
Change-Id: Iceab4a5b30ee35d82ef494830262ad29c028cb0a
--
2dcf3ec79f961d2962cdad33ac4bfbcb14126dad by Abseil Team <absl-team@google.com>:
Consolidate implementations of CountLeadingZeros and add new ones for
CountTrailingZeros.
Internal APIs only.
PiperOrigin-RevId: 209961247
--
4f3ac87c6928dab26faff962bb18aade9383f184 by Jorg Brown <jorg@google.com>:
Fix absl::CUnescape not to write to const_cast<char*>(str->data()), which does the wrong thing if the string type is copy-on-write
PiperOrigin-RevId: 209957656
--
c5103067be19dc88a4c32e5306154e5e3bba4673 by Tom Manshreck <shreck@google.com>:
Update comments in time library header files.
PiperOrigin-RevId: 209829588
--
fe36f9b6150243d2ac88e2a892d84c565c18cd2f by Abseil Team <absl-team@google.com>:
Clarifying the sample use of absl::LoadTimeZone function in the documentation.
PiperOrigin-RevId: 209782218
GitOrigin-RevId: 2dcf3ec79f961d2962cdad33ac4bfbcb14126dad
Change-Id: I3e2f87a8c543599b81eada58409a9bddc0b51ab8
--
f4bb8afa9376b4120f56f3beff7b07260da4a5c2 by CJ Johnson <johnsoncj@google.com>:
Add user to Github list
PiperOrigin-RevId: 209630262
GitOrigin-RevId: f4bb8afa9376b4120f56f3beff7b07260da4a5c2
Change-Id: I3fedf35011d805ee4a20b92e073b43523b47d15b
--
36d990031b4ae8e2debaccca63ff41829383a7d2 by Derek Mauro <dmauro@google.com>:
Rename FailureSignalHandler to AbslFailureSignalHandler so that we
don't confuse poor souls.
PiperOrigin-RevId: 207539530
--
0ced19ef8e0e0887f9809ffb88c5ef5f8746a6aa by Abseil Team <absl-team@google.com>:
Minor changes to support WebAssembly.
PiperOrigin-RevId: 207286743
GitOrigin-RevId: 36d990031b4ae8e2debaccca63ff41829383a7d2
Change-Id: I6b86713e96f5c32b595171594e456e38c898e601
--
60bc1e62580e0ff352a92c785f29550c2000447d by Xiaoyi Zhang <zhangxy@google.com>:
Import Github PR https://github.com/abseil/abseil-cpp/pull/143.
absl/synchronization/internal/kernel_timeout.h uses INFINITE macro that comes from windows.h that is included by winsock2.h that is included by absl/time/time.h. This internal header will be included by public header. It should not depend on windows.h.
PiperOrigin-RevId: 205109009
--
1617f0a333a8030e4e4c0bc1eef71f4a5fe9874d by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 205101804
--
8dce298b8c96c12c423943a366a4d92a554366c4 by Chris Kennelly <ckennelly@google.com>:
Define UNALIGNED_LOAD/STORE macros for UNDEFINED_BEHAVIOR_SANITIZER.
When using UBSan in trap mode (that is, without the ubsan runtime library), the
x86 macros can cause alignment errors as they assume unaligned loads/stores are
permitted. The macros defined in the presence of
{ADDRESS,THREAD,MEMORY}_SANITIZER require the runtime library.
PiperOrigin-RevId: 205096794
GitOrigin-RevId: 60bc1e62580e0ff352a92c785f29550c2000447d
Change-Id: I65a6cc86a711796c9d3a605310d67795b9f76ce9
--
ffe43f972f956e3f9a8fb7b68993d243ba8f79fb by Abseil Team <absl-team@google.com>:
Replace usage of soon-to-be-deprecated http_archive rule with Skylark equivalent
https://github.com/abseil/abseil-cpp/pull/138
PiperOrigin-RevId: 204939972
--
24021d7aec96ed013333760fba590eba5a9ddf63 by Abseil Team <absl-team@google.com>:
Remove incorrect constraint that StrSplit only works on std::strings; rather, it works on anything string-like.
PiperOrigin-RevId: 204761431
--
ce61d3b0ac163caa1156817f3d1a997d9376a3f3 by Derek Mauro <dmauro@google.com>:
Support s390/s390x in examine_stack.cc (GitHub issue #135).
This is UNTESTED (no machine to test on).
PiperOrigin-RevId: 204756692
--
68ecab659a95d713c4342fe9e8008c4cdf6abfc1 by Derek Mauro <dmauro@google.com>:
Update WORKSPACE.bazel Gogole Test dependency, remove the unused RE2 dependency.
PiperOrigin-RevId: 204741814
--
891e185522f0934e3b48a75617be5fc859d75dbd by Derek Mauro <dmauro@google.com>:
Fix endian_test.cc on big endian platforms.
GitHub issue #135
PiperOrigin-RevId: 204738726
--
9becfa12fbb525cd97e5695b94677bd3ea3f61b0 by Abseil Team <absl-team@google.com>:
Improve error messages in absl::variant by splitting up the conditions in the valid type static_assert.
This makes it slightly easier to determine what type is causing issues.
PiperOrigin-RevId: 204508430
GitOrigin-RevId: ffe43f972f956e3f9a8fb7b68993d243ba8f79fb
Change-Id: Icc5e4e8cd1a4cea98dfbed794cd992b734812e1d
--
50154b443b21a5123c50bebcfb866581e2e5b907 by Xiaoyi Zhang <zhangxy@google.com>:
Import https://github.com/abseil/abseil-cpp/pull/144
PiperOrigin-RevId: 204482647
--
ffefb7e0f9861a24296e672a5e32bbb56051239a by Abseil Team <absl-team@google.com>:
Cast ABSL_MIN_LOG_LEVEL to absl::LogSeverity rather than casting severity to int. This allows it to be defined symbolically e.g. -DABSL_MIN_LOG_LEVEL=absl::LogSeverity::kError.
PiperOrigin-RevId: 204347589
GitOrigin-RevId: 50154b443b21a5123c50bebcfb866581e2e5b907
Change-Id: I728baa8a3ad11ca28b731cc7979238c163e9c9a4
--
898e99cae89ca4cc27f86f719148f020d521dd58 by Abseil Team <absl-team@google.com>:
Update comment.
PiperOrigin-RevId: 204323401
--
b9d14db8b8a9dfb0e1cfb5967aaa0de1c4e94c42 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 204178059
--
f3b5a667611a588aa06fea9168e997ef5cffa7ac by Abseil Team <absl-team@google.com>:
Fix a potential reinterpret_cast compile error in absl::InlinedVector
The current code will trigger a reinterpret_cast error enhanced by llvm r336738.
PiperOrigin-RevId: 204131536
--
cc87d7a8302ad4471c1a25781d6ec19c2ce1524e by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 203979040
--
bc5cae3cfc72af1d3e786d5a3b59a47e205afec9 by Gennadiy Rozental <rogeeff@google.com>:
Internal: add internal logging hooks
PiperOrigin-RevId: 203850605
--
503655c248f557f677c920078613522b010e73c8 by Derek Mauro <dmauro@google.com>:
Cleanup stacktrace_config.h
Instead of listing the platforms that aren't supported, list the ones
we do support, and fallback to stacktrace_unimplemented-inl.inc at the
end. Previously any platform that wasn't listed gets "#error Not supported yet".
GitHub issue #135
PiperOrigin-RevId: 203823079
--
cb69925c4cacc14558cf103a09f218c37f466a16 by Abseil Team <absl-team@google.com>:
Fix a minor typo in absl::variant documentation.
PiperOrigin-RevId: 203679877
--
23a0e4db10039011fa5fd879fb73d2f2bbd17301 by Abseil Team <absl-team@google.com>:
Format .bzl files with buildifier
PiperOrigin-RevId: 203461813
--
1ad02616bdb715dfdc7f1a73313e383f4ededa03 by Abseil Team <absl-team@google.com>:
Make the absl::SleepFor() tests treat any successful retry within
a 48x deadline as a total success, thereby reducing flakiness.
PiperOrigin-RevId: 203401603
--
b3dccbbc6563ea0173527076a3fff21433d48f47 by Abseil Team <absl-team@google.com>:
Replace config_setting.values{"compiler"} with config_setting.flag_values{"@bazel_tools//tools/cpp:compiler"}
Due to changes in Bazel we need to change the way "compiler" is specified in config_setting. This will not change the behavior of the config_setting itself.
PiperOrigin-RevId: 203345693
--
170f1692537460a4ba1756d34852275899c2339b by Matt Armstrong <marmstrong@google.com>:
Address test flakiness in the TimeoutTest.
The basic idea is to loop forever until the expected
scheduling delays are observed (within reasonable bounds),
and only then assert the other invariants.
PiperOrigin-RevId: 203188162
GitOrigin-RevId: 898e99cae89ca4cc27f86f719148f020d521dd58
Change-Id: Ie853ec050afa3a04c519393afe666bc03e11dc87
--
6769c6ebe79804063d68d70a5623a1475d63aeff by Alex Strelnikov <strel@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 202500218
--
c65cc4af08b8c48ca65f0816c1d2f59c7de7b0a5 by Derek Mauro <dmauro@google.com>:
Fix DirectMMap on s390x (GitHub #135).
This is *untested* because no s390x system is available.
PiperOrigin-RevId: 202484458
--
0ae7b628d7859cb3af169d007c29efd7917bb3ea by Abseil Team <absl-team@google.com>:
Changes the Holder's compile-type type decision making to a std::conditional for improved readability
PiperOrigin-RevId: 202340646
GitOrigin-RevId: 6769c6ebe79804063d68d70a5623a1475d63aeff
Change-Id: I8f9d049ee279b1b1e3381fdf7e6fe9a4ea228306
f28d30df5769bb832dec3ff36d2fcd2bcdf494a3 by Shaindel Schwartz <shaindel@google.com>:
Internal change
PiperOrigin-RevId: 201046831
--
711715a78b7e53dfaafd4d7f08a74e76db22af88 by Mark Barolak <mbar@google.com>:
Internal fix
PiperOrigin-RevId: 201043684
--
64b53edd6bf1fa48f74e7f5d33f00f80d5089147 by Shaindel Schwartz <shaindel@google.com>:
Remove extra whitespace
PiperOrigin-RevId: 201041989
--
0bdd2a0b33657b688e4a04aeba9ebba47e4dc6ca by Shaindel Schwartz <shaindel@google.com>:
Whitespace fix.
PiperOrigin-RevId: 201034413
--
3deb0ac296ef1b74c4789e114a8a8bf53253f26b by Shaindel Schwartz <shaindel@google.com>:
Scrub build tags. No functional changes.
PiperOrigin-RevId: 201032927
--
da75d0f8b73baa7e8f4e9a092bba546012ed3b71 by Alex Strelnikov <strel@google.com>:
Internal change.
PiperOrigin-RevId: 201026131
--
6815d80caa19870d0c441b6b9816c68db41393a5 by Tom Manshreck <shreck@google.com>:
Add documentation for our LTS snapshot branches
PiperOrigin-RevId: 201025191
--
64c3b02006f39e6a8127bbabf9ec947fb45b6504 by Greg Falcon <gfalcon@google.com>:
Provide absl::from_chars for double and float types. This is a forward-compatible implementation of std::from_chars from C++17.
This provides exact "round_to_nearest" conversions, and has some nice properties:
* Works with string_view (it can convert numbers from non-NUL-terminated buffers)
* Never allocates memory
* Faster than the standard library strtod() in our toolchain
* Uses integer math in its calculations, so is unaffected by floating point environment
* Unaffected by C locale
Also change SimpleAtod/SimpleAtoi to use this new API under the hood.
PiperOrigin-RevId: 201003324
--
542869258eb100779497c899103dc96aced52749 by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 200999200
--
3aba192775c7f80e2cd7f221b0a73537823c54ea by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 200947470
--
daf9b9feedd748d5364a4c06165b7cb7604d3e1e by Mark Barolak <mbar@google.com>:
Add an absl:: qualification to a usage of base_internal::SchedulingMode outside of an absl:: namespace.
PiperOrigin-RevId: 200748234
--
a8d265290a22d629f3d9bf9f872c204200bfe8c8 by Mark Barolak <mbar@google.com>:
Add a missing namespace closing comment to optional.h.
PiperOrigin-RevId: 200739934
--
f05af8ee1c6b864dad2df7c907d424209a3e3202 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 200719115
GitOrigin-RevId: f28d30df5769bb832dec3ff36d2fcd2bcdf494a3
Change-Id: Ie4fa601078fd4aa57286372611f1d114fdec82c0
- 38311bf46f29bf1b20bdfe6c9b10c54e6258d28c Fix inlined_vector_benchmark when using libc++. libc++'s ... by Derek Mauro <dmauro@google.com>
- 32178d067d4af7c3062532103d213eb7230c2be6 Adding sha256 hashes to dependencies in Abseil OSS WORKSP... by Daniel Katz <katzdm@google.com>
- 13ac34416b326909f1ce0889ec0eb3bff3f3bebe Fix silly whitespace typo. by Daniel Katz <katzdm@google.com>
GitOrigin-RevId: d6b8d35be9659e1c99a5daca1af8c8587acaa044
Change-Id: I6be0d76930206edb79a10779bff3ffcc5ce856c9
- 64db19b773134c6c8004e3b23c9ca892efbf8bae Move SpinLock's adaptive spin count computation from a st... by Derek Mauro <dmauro@google.com>
- 6f9533fb44a52485a7c2bbb9b4efc7bf8d6c359a Import of CCTZ from GitHub. by Abseil Team <absl-team@google.com>
- a211d7255c986e8dd4ceada362c0d054a6a1969a Cleanup exception flags by Abseil Team <absl-team@google.com>
- babdb29c590126fe9bba5229fe91034b5b5c358a Release time benchmarks. by Alex Strelnikov <strel@google.com>
- 5803b32a3ff123d1fb57a0c471d199c818357c9f Release memutil microbenchmarks. by Alex Strelnikov <strel@google.com>
- 5357d4890d30e80c53beb05af32500fb20e9402b Add parens around expansion of ABSL_PREDICT_{FALSE,TRUE} ... by Abseil Team <absl-team@google.com>
- 32023f61a239a5f6b1c59e577bfe81b179bbcd2d Reformat build rule tag. by Alex Strelnikov <strel@google.com>
- 833758ecf2b0cf7a42bbd50b5b127e416425c168 Release uint128 microbenchmarks. by Alex Strelnikov <strel@google.com>
- c115a9bca1f944b90fdc78a56b2de176466b124f Disambiguate bitwise-not of size_type by Abseil Team <absl-team@google.com>
- f6905f5b5f6e425792de646edafde440548d9346 Updates ConstructorTracker and TrackedObjects with 1) a m... by Abseil Team <absl-team@google.com>
- 147c553bdd5d2db20a38f75c4d1ef973d6c709c5 Changes the absl::Duration factory functions to disallow ... by Greg Miller <jgm@google.com>
- dba2b96d11b5264546b283ba452f2de1303b0f07 White space fix by Alex Strelnikov <strel@google.com>
GitOrigin-RevId: abacaab4b11a69dd4db627bd183571d7cabb8def
Change-Id: I6fa34f20d0b2f898e7b5475a603111413bb80a67
- 924ba2a3f9fca695d73c6bf491d20669e2b96b8e Changed RawPtr to use std::addressof() instead of operato... by Abseil Team <absl-team@google.com>
- e8cf67f9fa74d4c5632da35547025ad2301c6819 Import of CCTZ from GitHub. by Alex Strelnikov <strel@google.com>
- 2ece8a96611afcddd7b91e0197dadb896248250c Abandon ".inc" files in favor of ".h" headers. by Jorg Brown <jorg@google.com>
- 37f5ed5da4058f90fb3e6a2733fce5b1fd0aaedf Add exception safety tests for absl::optional<T> by Abseil Team <absl-team@google.com>
- 337f995a866b8f905f64ca6b271b5fec8f248a60 Update WORKSPACE to grab specific commits of dependencies... by Alex Strelnikov <strel@google.com>
- 93e5b134607a554993387ad913e6c1621606004b Release Charmap microbenchmark. by Alex Strelnikov <strel@google.com>
- 95c2e29b6d93ec1334484ee37d91f63101c45307 Release OStringStream microbenchmarks. by Alex Strelnikov <strel@google.com>
- 250f51839ed26dd1e6b658d35aa291413e5f4825 Internal change by Greg Falcon <gfalcon@google.com>
- ce34900fa3d1a95a8446bc943cdd801fac95be25 Improve compatibility of cctz cc_test targets for portabl... by Shaindel Schwartz <shaindel@google.com>
- ce7e31dbf2c1ee93c79aae5b7dc7c603cb4babcf Improve portability of cc_tests. (Mark more tests that ca... by Abseil Team <absl-team@google.com>
- dfcd4e455923703c1a1dcd523c5f915f7990fa2a Accept strings with custom allocators as arguments to abs... by Greg Falcon <gfalcon@google.com>
- 2946b41ed3d5b8b5a8dc11182e443cf1ab6e3bde Link against benchmark_main instead of using BENCHMARK_MA... by Alex Strelnikov <strel@google.com>
- f09de9e03bf8edd363069c4b352d8009423f531c Adds link to doc about the formats allowed by SimpleAtof(... by Greg Miller <jgm@google.com>
- 59b0977e7a308e0800277886cf60226b2cc426a1 Simplify the HideMask() calculation so that it doesn't us... by Jorg Brown <jorg@google.com>
GitOrigin-RevId: e2f6b8ac647271815b4fed2991f405524dd762c3
Change-Id: Ib9c8547ed7fe217fad6cb3ab1362e96181aa5cfa
- f183ce453db49ebc1948bb1d8eced37021cf63f7 Internal change. by Derek Mauro <dmauro@google.com>
- b1660cb93e0fa37cdcecf37642766f5bfd12c7b0 Improve compatibility of some cc_test targets for portabl... by Abseil Team <absl-team@google.com>
GitOrigin-RevId: 31d03284ca8017ba59d98d47e7d041f361d478a7
Change-Id: I9c4c4d2ad12cfe10c914f7cfa9aaab67fcef5cb1
- b726b3102f8439b8480b6ff52fc3660162fa0bd9 Fix MSVC compiler warning on 32-bit platforms (GitHub iss... by Derek Mauro <dmauro@google.com>
- a8a29e636c85bd7d82c0cbc824a1c2e498764337 Explicitly forbid to specify the template parameter to Wr... by Abseil Team <absl-team@google.com>
- 566a1d903266fdbfdcf758401c356a0c6703422d Add missing license header to BUILD file. by Alex Strelnikov <strel@google.com>
- ef1c0642cde0bbad62bbb30715256b232a4ab817 Fix BUILD file header. by Alex Strelnikov <strel@google.com>
- b6e2cf00f808ee32b9eb7b3226af79d628742c20 Release GraphCycles microbenchmark. by Alex Strelnikov <strel@google.com>
- f592d78f549e7a242bf2bb4858a26645a655eac3 Release Mutex microbenchmarks. by Alex Strelnikov <strel@google.com>
GitOrigin-RevId: 45b4111d940009bc7b3ebf621c9cb9293c60344a
Change-Id: I82885ae176952a764574c6d4616e312a977407b2
- f9f24ecdf159c232b68a72b3be4d66854489f13e Run clang-format on all outbound Copybara-transformed code. by Daniel Katz <katzdm@google.com>
- 54b1d34753a2b6999bb65e0c05255bde7de8cfb5 Properly indent the PROPERTY FOLDER calls in AbseilHelper... by Jon Cohen <cohenjon@google.com>
- 540ce6bab1a7c81a15d7244b9effcb1c1378911b Fix -Wgnu-zero-variadic-macro-arguments warning under cla... by Derek Mauro <dmauro@google.com>
- cc82ee3f18e882bfcba911ebc1b8ea39983f319b Suppress MSVC unreachable code warning in optional.h by Abseil Team <absl-team@google.com>
- c1176bed2a7a2d20e72db2601f1044c097d8078c Change signature of __mmap2() in direct_mmap.h to match _... by Greg Falcon <gfalcon@google.com>
- 5c02fe2031997fe064bd189fecc593395f34fae8 Change released benchmarks back to cc_test targets. by Alex Strelnikov <strel@google.com>
- 7a342ecf7a8c56276d28d94158291fe2d64b2543 Fix sanitizer example command. by Derek Mauro <dmauro@google.com>
- 0c2c55fe01cd84ab885d9f4865d7672c423680d2 Remove redundant cast; string_view::find already returns ... by Jorg Brown <jorg@google.com>
GitOrigin-RevId: 2db207ef16d548380e4f5cd1d583546d0b5f7d61
Change-Id: I5b61d91c8c7b4754c839868fc73d612b31bf5c33
- 2201f1644336e64280dbd20207d8fbc3bfea2bf4 Internal change. by Abseil Team <absl-team@google.com>
- 94e6b5b20d2cc754c99a18c575a4f1f3cd1f28d4 Rename no_throw_ctor to nothrow_ctor to match the standar... by Abseil Team <absl-team@google.com>
- 86aa34d2129c4914c5133b7b619480aae786288e Update header files in debugging target by Tom Manshreck <shreck@google.com>
- ed234519ced458724a7267b8fdf184eaae1c97c7 Remove CMAKE_CXX_WARNING_VLA from our c++ flags in the cm... by Jon Cohen <cohenjon@google.com>
GitOrigin-RevId: abe587c2360b21f085b7d65a77d840015bc04cf6
Change-Id: I92f9301c69419d3830c358b88984967185aa33f6
- acd95f8ec4e6ec1587cb198c7f40af3c81094d92 Release container benchmarks. by Alex Strelnikov <strel@google.com>
- 80f596b6b7c5e06453e778c16527d5a0e85f8413 Allow absl::base_internal::AtomicHook to have a default v... by Derek Mauro <dmauro@google.com>
- 8402631546af8bcbd4acdf897d0cdfb805ad544a Release thread_identity benchmark. by Alex Strelnikov <strel@google.com>
- 6dcb1e90fefb8556ce4654983d3a73c7585b4b99 Fix spelling error in variant.h by Abseil Team <absl-team@google.com>
- faa8a81e1442018c0d400b09a595a5be55074715 Run tests from CMake. The CI is currently Linux only, fo... by Jon Cohen <cohenjon@google.com>
- 745ed6db574f931f2ec3a88e964fb03a5f22f816 Internal change. by Derek Mauro <dmauro@google.com>
- 23facd7d1c5f43ac8181b016ee4acc5955f048c1 absl::variant exception safety test. by Xiaoyi Zhang <zhangxy@google.com>
- c18e21e7cf8f6e83ae9d90e536e886409dd6cf68 Reinstate the syntax check on time-zone abbreviations now... by Abseil Team <absl-team@google.com>
- da469f4314f0c820665a2b5b9477af9462b23e42 Import CCTZ changes to internal copy. by Shaindel Schwartz <shaindel@google.com>
- 44ea35843517be03ab256b69449ccfea64352621 Import CCTZ changes to internal copy. by Abseil Team <absl-team@google.com>
- 55d1105312687c6093950fac831c7540f49045b5 Import CCTZ changes to internal copy. by Greg Falcon <gfalcon@google.com>
- 58d7965ad274406410b6d833213eca04d41c6867 Add zoneinfo as a data dependency to the //absl/time tests. by Shaindel Schwartz <shaindel@google.com>
- 6acc50146f9ff29015bfaaa5bf9900691f839da5 Change benchmark target type from cc_test to cc_binary. by Alex Strelnikov <strel@google.com>
- db3fbdae8f9f285a466f7a070326b1ce43b6a0dd Update WORKSPACE for C++ microbenchmarks and release algo... by Alex Strelnikov <strel@google.com>
- 0869ae168255242af651853ed01719166d8cebf6 Update to Bazel version 0.13.0. by Abseil Team <absl-team@google.com>
- e507dd53ab788964207fdf27d31b72a33c296fab Add missing include of cstdio by Abseil Team <absl-team@google.com>
GitOrigin-RevId: 07191b0f52301e1e4a790e236f7b7c2fd90561ae
Change-Id: I90994cf2b438fbec894724dcd9b90882281eef56