1. 17 May, 2022 1 commit
    • absl: fix live-lock in CondVar · aac2279f
      CondVar::WaitWithTimeout can live-lock when timeout is racing with Signal/SignalAll
      and Signal/SignalAll thread is not scheduled due to priorities, affinity or other
      scheduler artifacts. This could lead to stalls of up to tens of seconds in some cases.
      PiperOrigin-RevId: 449159670
      Change-Id: I64bbd277c1f91964cfba3306ba8a80eeadf85f64
      Abseil Team committed
  2. 16 May, 2022 1 commit
  3. 13 May, 2022 1 commit
  4. 12 May, 2022 3 commits
  5. 11 May, 2022 1 commit
  6. 10 May, 2022 1 commit
  7. 05 May, 2022 2 commits
  8. 04 May, 2022 4 commits
  9. 03 May, 2022 2 commits
  10. 02 May, 2022 1 commit
  11. 29 Apr, 2022 1 commit
  12. 25 Apr, 2022 2 commits
  13. 22 Apr, 2022 2 commits
  14. 21 Apr, 2022 1 commit
    • Export of internal Abseil changes · 7c6608d0
      --
      6d4e969ad240d248bfeb644b3b76fffae0f07882 by Christian Blichmann <cblichmann@google.com>:
      
      cmake: Fix description of `ABSL_USE_EXTERNAL_GOOGLETEST` option
      
      There is no `add_subproject()` in CMake.
      
      PiperOrigin-RevId: 443087953
      Change-Id: I30c2118638f99ad1389ae197e2c81d1e5f298882
      GitOrigin-RevId: 6d4e969ad240d248bfeb644b3b76fffae0f07882
      Abseil Team committed
  15. 19 Apr, 2022 1 commit
    • Export of internal Abseil changes · 3dccef2a
      --
      6457ad659de86ce4cae1e9f7cb03a701c6c2851e by Abseil Team <absl-team@google.com>:
      
      Introduced ErrnoToStatusCode and ErrnoToStatus to abseil.
      
      PiperOrigin-RevId: 442903450
      Change-Id: I9c062b34a3811216f43eef56e631eada3b4e3e84
      GitOrigin-RevId: 6457ad659de86ce4cae1e9f7cb03a701c6c2851e
      Abseil Team committed
  16. 18 Apr, 2022 1 commit
    • Export of internal Abseil changes · c27ab068
      --
      3d018c03a34bf273a4b24b3584ed77f0a6d21686 by Abseil Team <absl-team@google.com>:
      
      Fix a spelling typo (s/boundries/boundaries).
      
      PiperOrigin-RevId: 442041877
      Change-Id: I608020697d37b85316bb9a0838e4b457659c926c
      
      --
      518b8119e51db24ce7fb0fd2fe537ec43825c3e6 by Dino Radakovic <dinor@google.com>:
      
      absl/types/internal/variant: Make include guard uppercase
      
      https://google.github.io/styleguide/cppguide.html#The__define_Guard
      
      PiperOrigin-RevId: 441911692
      Change-Id: I9837dd07f20204d8253f20627b0917a34dc21825
      
      --
      b91696c38310a7cae8c1ea9e2d479495f5dc3f69 by Greg Falcon <gfalcon@google.com>:
      
      Add an internal-only API to wrap __builtin_prefetch() if available.
      
      This private API is intended for future use by the Abseil implementation.  Like any internal-namespaced function, it may be changed or removed at any time.
      
      PiperOrigin-RevId: 441894616
      Change-Id: Iaa48bd4680b373f4a0d5afab0cb35e2a1908595f
      
      --
      0f01e8b0551a662e02dff60840c54320f987315f by Derek Mauro <dmauro@google.com>:
      
      C++20: Use the standard `constinit` keyword for `ABSL_CONST_INIT` when available
      
      PiperOrigin-RevId: 441778874
      Change-Id: I70c616469752ff23b326b1c615437599f42cc6aa
      GitOrigin-RevId: 3d018c03a34bf273a4b24b3584ed77f0a6d21686
      Abseil Team committed
  17. 14 Apr, 2022 1 commit
  18. 12 Apr, 2022 1 commit
    • Export of internal Abseil changes · ac1398a6
      --
      f4c7e510922668c68be4aa79a00867c3d3ca9f95 by Derek Mauro <dmauro@google.com>:
      
      Many improvements to LeakChecker builds
      
      The presence of the LeakChecker is now detected when possible. GCC
      users using LeakChecker in standalone mode still need to use
      -DLEAK_CHECKER. This is now documented in the header.
      
      The hacky targets used for testing leak checking have been removed in
      favor of testing in AddressSanitizer mode on Kokoro.
      
      Fixes #885
      Fixes #1153
      
      PiperOrigin-RevId: 441203393
      Change-Id: Ibe64ef6b104bcaf31839ff7184e558cc86abdd1c
      
      --
      5c70a23aa83b8152ab95d2cf21662fc63c80ef7d by Abseil Team <absl-team@google.com>:
      
      Add a benchmark for stacktrace
      
      PiperOrigin-RevId: 441196473
      Change-Id: I4c9aa2e797aa2cae09abfaaee3abe5c09eb62fc4
      
      --
      50b406052273b9d5bad04a7860a96e4d5d956c02 by Abseil Team <absl-team@google.com>:
      
      Internal change.
      
      PiperOrigin-RevId: 441114481
      Change-Id: I667af7a50d5631ca91289dd24c91ba90233e0184
      
      --
      568b4eaac120b420bce5290179d407d2b57d5bae by Dino Radakovic <dinor@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 440894155
      Change-Id: Ia587ffc65a8321126585fb363b7c0ca8cc2a0da2
      
      --
      d53948eace4f3a10ac5a6c1496dc51b81adc412c by Abseil Team <absl-team@google.com>:
      
      Explicitly give internal linkage to symbols which are not used outside of their
      translation units.
      
      PiperOrigin-RevId: 440424519
      Change-Id: I531c5e229d443375483b7550a34f48042589a99b
      GitOrigin-RevId: f4c7e510922668c68be4aa79a00867c3d3ca9f95
      Abseil Team committed
  19. 07 Apr, 2022 1 commit
    • Export of internal Abseil changes · e854df09
      --
      0c8848ebedc07470c7ab647a5bb8949481540ce9 by Dino Radakovic <dinor@google.com>:
      
      Define absl::base_internal::invoke using std::invoke when C++ >= 17
      
      PiperOrigin-RevId: 439880834
      Change-Id: I3622fcf473501d54c57575118a11d54c19573446
      GitOrigin-RevId: 0c8848ebedc07470c7ab647a5bb8949481540ce9
      Abseil Team committed
  20. 06 Apr, 2022 1 commit
    • Export of internal Abseil changes · 9fed77a6
      --
      ef2bf829c333f378ecc12f3259e3187cdb75a3d5 by Abseil Team <absl-team@google.com>:
      
      debugging: fix the VDSO symbol name used for unwinding on RISC-V Linux
      
      The name listed in `man vdso` is incorrect. Instead, use the name from `linux-5.16/arch/riscv/kernel/vdso/rt_sigreturn.S`
      
      PiperOrigin-RevId: 439654174
      Change-Id: Ib39d066f416681720068e806e828a2c76a14a532
      
      --
      43dfad824afd36cfc3e5049b4fea71a2bccb066c by Benjamin Barenblat <bbaren@google.com>:
      
      Check printf format strings in str_format_convert_test
      
      Add ABSL_PRINTF_ATTRIBUTE to appropriate functions in
      strings/internal/str_format/convert_test. Correct
      TypedFormatConvertTest.Char, which was accidentally passing values of
      types larger than int to StrPrint.
      
      PiperOrigin-RevId: 439388148
      Change-Id: I6cde4e8e0c6455064138192430f07f4c990be0bc
      
      --
      f84b4ab2c3b070c8af0c82742ac7a8a4bf443bca by Derek Mauro <dmauro@google.com>:
      
      Use __builtin_memcmp in the absl::string_view implementation
      starting with MSVC 16.9, where it first appeared
      
      This enables more constexpr operations
      
      PiperOrigin-RevId: 439317316
      Change-Id: Iaf1ce76b60901d4b2d5b96be5900c56572f57b15
      GitOrigin-RevId: ef2bf829c333f378ecc12f3259e3187cdb75a3d5
      Abseil Team committed
  21. 04 Apr, 2022 1 commit
    • Export of internal Abseil changes · 6f43f5bb
      --
      afa44fa0245a1cfb1824ef9697b3fa77fa9615c9 by Laramie Leavitt <lar@google.com>:
      
      Comment CMakeLists.txt about internal absl_cc_library() targets.
      
      From what I can tell, these are the CMake targets that are public:
      
          absl::algorithm
          absl::algorithm_container
          absl::base
          absl::core_headers
          absl::dynamic_annotations
          absl::log_severity
          absl::cleanup
          absl::btree
          absl::fixed_array
          absl::flat_hash_map
          absl::flat_hash_set
          absl::inlined_vector
          absl::node_hash_map
          absl::node_hash_set
          absl::debugging
          absl::failure_signal_handler
          absl::leak_check
          absl::leak_check_disable
          absl::stacktrace
          absl::symbolize
          absl::flags
          absl::flags_commandlineflag
          absl::flags_config
          absl::flags_marshalling
          absl::flags_parse
          absl::flags_reflection
          absl::flags_usage
          absl::bind_front
          absl::function_ref
          absl::hash
          absl::hash_testing
          absl::memory
          absl::meta
          absl::type_traits
          absl::bits
          absl::int128
          absl::numeric
          absl::numeric_representation
          absl::exponential_biased
          absl::periodic_sampler
          absl::sample_recorder
          absl::random_bit_gen_ref
          absl::random_distributions
          absl::random_mocking_bit_gen
          absl::random_random
          absl::random_seed_gen_exception
          absl::random_seed_sequences
          absl::status
          absl::statusor
          absl::cord
          absl::cord_test_helpers
          absl::str_format
          absl::strings
          absl::synchronization
          absl::civil_time
          absl::time
          absl::time_zone
          absl::any
          absl::bad_any_cast
          absl::bad_optional_access
          absl::bad_variant_access
          absl::compare
          absl::optional
          absl::span
          absl::variant
          absl::utility
      
      PiperOrigin-RevId: 438702788
      Change-Id: Icf611c35e88f03cd2493a95f61617605305d4e8e
      
      --
      a99f60847578e6c0df6befadb29a01c86def0d21 by Abseil Team <absl-team@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 438647928
      Change-Id: I141eadd17d6e8607df25ebc893aecefa0239a72f
      
      --
      b23e77e8f62a77023188594390c9e491c507d22c by Abseil Team <absl-team@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 438628502
      Change-Id: I40c4297716c8c1621ba8b02a22393bfcbefb5b5e
      GitOrigin-RevId: afa44fa0245a1cfb1824ef9697b3fa77fa9615c9
      Abseil Team committed
  22. 31 Mar, 2022 1 commit
    • Export of internal Abseil changes · 4dcae40a
      --
      b984c7c1cbee4253192c833046bfcfa16dca8ccf by Dino Radakovic <dinor@google.com>:
      
      Restrict visibility of absl/flags:commandlineflag_internal
      
      PiperOrigin-RevId: 438591894
      Change-Id: I12a6392b2c7f9f1263c741dfd6c43ae22e903aad
      
      --
      81315601aab70bb6ac2d17655a727d7f9ee2ff95 by Justin Lebar <jlebar@google.com>:
      
      Update example in str_join.h to use a lambda.
      
      PiperOrigin-RevId: 438390035
      Change-Id: Icc707b972e5a369a71ad774004fdf0a17a9b33a7
      
      --
      1c3c7921224e505faca8617b073f657d3737219f by Dino Radakovic <dinor@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 438386036
      Change-Id: I6066da1b5a1ddf5af265944a31ed298297b4f2e1
      
      --
      2d6885f78481f04e0e7ee86060aec15b677144f3 by Abseil Team <absl-team@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 438378389
      Change-Id: If70dd9114114eb44e85afccd521e7fb7e1436b88
      
      --
      7f8282ddee7fcd032e01cbfe65c11c2d166cceb8 by Derek Mauro <dmauro@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 438374554
      Change-Id: I993367952af1dc83bd5aa0ae19a64c024f457fdd
      
      --
      ce65ba28f6031e45db8fa5118a05410f5166fd7a by Abseil Team <absl-team@google.com>:
      
      Spelling gardening: Heterogeneous has an "e" after the "n".
      
      PiperOrigin-RevId: 438374411
      Change-Id: If1a9098a5d04338837998883739c7b555efa62b4
      GitOrigin-RevId: b984c7c1cbee4253192c833046bfcfa16dca8ccf
      Abseil Team committed
  23. 30 Mar, 2022 2 commits
    • Fix build with uclibc-ng (#1145) · b9ad9bbf
      uclibc-ng doesn't provide getauxval which results in the following build
      failure on arm or ppc with any user of abseil-cpp such as grpc:
      
      /home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libabsl_random_internal_randen_hwaes.so.2111.0.0: undefined reference to `getauxval'
      
      To fix this build failure, check that __UCLIBC__ is not defined before
      using getauxval (as Babel is not able to check function availability)
      
      Fixes:
       - http://autobuild.buildroot.org/results/775f3ca3dedebff29e212b29dfa896b7613b7a02
      
      Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
      Fabrice Fontaine committed
    • Export of internal Abseil changes · cfccbd2e
      --
      fb671efb2a70f452f17a884b17cf18817b977a8f by Abseil Team <absl-team@google.com>:
      
      Remove extra semicolon in ABSL_INTERNAL_ASSERT_IS_FULL macro
      
      To fix compilation when empty statement warning is treated as error.
      
      PiperOrigin-RevId: 438342663
      Change-Id: I3067fbeffa2691888f37554e88f229f24fb55ecc
      
      --
      a58c9396f1d88d11347aed36ef2e1b633071363c by Martijn Vels <mvels@google.com>:
      
      Fix kMaxHeight bounds to kMaxDepth for CordrepBtreeNavigator
      
      Added unit test (confirmed failure mode with old code) and extra assertion in the implementation.
      
      PiperOrigin-RevId: 438327463
      Change-Id: I32242c86b0c879b8a42cb9a92075e537d588e09f
      
      --
      f348e85dbfc9187ef59085fa2b999374f1670338 by Jorge Gorbe Moya <jgorbe@google.com>:
      
      Make the flags enum in `RefcountAndFlags` a named enum to workaround an lldb
      issue (https://github.com/llvm/llvm-project/issues/54602).
      
      PiperOrigin-RevId: 438146097
      Change-Id: Ibc2ee26489d99de515a779a903b6458dd0befef7
      
      --
      a960a3e9fb2a2e3418f806178e73d8566b78bc85 by Gennadiy Rozental <rogeeff@google.com>:
      
      Introduce support for std::optional<T>/absl::optional<T> flag types.
      
      PiperOrigin-RevId: 438129500
      Change-Id: I3d925c0a7f9ce9f857277fac3b0bf664ccd3a95c
      GitOrigin-RevId: fb671efb2a70f452f17a884b17cf18817b977a8f
      Abseil Team committed
  24. 29 Mar, 2022 1 commit
    • Export of internal Abseil changes · 3204cc06
      --
      291f7ef542f73e4801ab5108014bc02344ef31df by Derek Mauro <dmauro@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 437835981
      Change-Id: I42fd92e74903894533ac9984d7f622e3ba20f468
      
      --
      2e8caf1a57c50b518e05b4bca48e4fe1bb19af82 by Andy Getzendanner <durandal@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 437832673
      Change-Id: I61b35089418d01a54cecf161b254b68252bebff3
      
      --
      b927482ccc399f7e337b60582988b914d9946e4e by Derek Mauro <dmauro@google.com>:
      
      Simplify endian intrinsics for modern compilers
      
      All modern compilers have either __builtin_bswapN (gcc, clang) or
      _byteswap_TYPE (MSVC).  The other intrinsic definitions are no longer
      necessary.
      
      PiperOrigin-RevId: 437772295
      Change-Id: Ifb3d88ba24b9097f87ceb202272b36d2f5e5117f
      
      --
      b6782a2247a16d5c14706a74ec577c19963d9f97 by Derek Mauro <dmauro@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 437373174
      Change-Id: I0f77e1780dee90d7a3c32a08d96c4aeb624a57b4
      
      --
      a53e0c724e37b0b01515a99bd25394b8e21ffdfc by Derek Mauro <dmauro@google.com>:
      
      Unify detection of SSE2 and SSSE3 instruction sets and
      include the proper headers
      
      Fix the intrinsic implementation of FastHexToBufferZeroPad16 in
      numbers.h which only relies on SSSE3, not SSE 4.2.
      https://godbolt.org/z/Pf5bn1Yv9
      
      Closes #639
      
      PiperOrigin-RevId: 437286940
      Change-Id: Ic97948399b61b91e9c0bccd09313b795b904d714
      
      --
      f173f597cb2a75ef2a989f45a496334b85e6f40d by Abseil Team <absl-team@google.com>:
      
      Change assertion function to enable clearer error messages.
      
      PiperOrigin-RevId: 437227057
      Change-Id: If420d2f63b51feef6648762f344d5be012cd9c85
      GitOrigin-RevId: 291f7ef542f73e4801ab5108014bc02344ef31df
      Abseil Team committed
  25. 28 Mar, 2022 1 commit
  26. 26 Mar, 2022 1 commit
  27. 24 Mar, 2022 1 commit
    • Export of internal Abseil changes · eb3db08c
      --
      8c9dd24a6fbf9ed10ae81f9fa0bc2168558a9700 by Abseil Team <absl-team@google.com>:
      
      Improve WebAssembly detection when using Bazel.
      
      Unfortunately, the --cpu values are not standardized, and both
      --cpu=wasm and --cpu=wasm32 are used in the wild. Most notably,
      Emscripten's Bazel rules use --cpu=wasm, which was missing.
      
      While there, add support for @platforms//cpu:{wasm32,wasm64}.
      
      This change adds a dependency on @bazel_skylib, which requires
      adding the following http_archive() rule to the WORKSPACE file:
      
        http_archive(
          name = "bazel_skylib",
          urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz"],
          sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",
        )
      
      PiperOrigin-RevId: 436815546
      Change-Id: I4e1946070c6964abb12259f25a546f2d24e0992a
      
      --
      59514589043d9b0734a01f7aa7bc354f5b495eab by Abseil Team <absl-team@google.com>:
      
      Fix some typos that slipped through.
      
      PiperOrigin-RevId: 436777566
      Change-Id: Ibf5c54e2671c749dc87d2bd5d36dcd220ce347d4
      GitOrigin-RevId: 8c9dd24a6fbf9ed10ae81f9fa0bc2168558a9700
      Abseil Team committed
  28. 22 Mar, 2022 1 commit
    • Export of internal Abseil changes · f3489c9c
      --
      bcd349230e418f5e29d5fced1b942828fa5cb2ad by Abseil Team <absl-team@google.com>:
      
      Import of CCTZ from GitHub.
      
      PiperOrigin-RevId: 436317331
      Change-Id: I0f8a0c4cd0d5f348a33e486c85c863072c30742a
      GitOrigin-RevId: bcd349230e418f5e29d5fced1b942828fa5cb2ad
      Abseil Team committed
  29. 21 Mar, 2022 1 commit
    • Export of internal Abseil changes · 6c8dab80
      --
      f3ac7ee28fc7de737bc9e2e1d10ff7739781d645 by Gennadiy Rozental <rogeeff@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 435739199
      Change-Id: I8f854b742418a237f9060e4b9f23d0f20baf0bdf
      
      --
      fe1329708cb40da8e72e53e4eaad79112bdb79ea by Abseil Team <absl-team@google.com>:
      
      Port SwissTable internals comments from github.com/google/cwisstable to Abseil.
      
      PiperOrigin-RevId: 435719801
      Change-Id: I2270cc93aaa5d3d57954a8cea7e570b72b6c3956
      
      --
      a6e6fcd4b944ce370ac3307e848645c27bf21e47 by Derek Mauro <dmauro@google.com>:
      
      Internal change
      
      PiperOrigin-RevId: 435716325
      Change-Id: I77999f69e176ee6c0d18e7c3329a7c336164f0fc
      GitOrigin-RevId: f3ac7ee28fc7de737bc9e2e1d10ff7739781d645
      Abseil Team committed
  30. 18 Mar, 2022 1 commit
    • Exclude unsupported x64 intrinsics from ARM64EC (#1135) · 4c015dbb
      ARM64EC is a Microsoft-designed ARM64 ABI compatible with AMD64
      applications on ARM64 Windows 11. The ARM64EC does not support
      _umul128 and __rdtsc as x64 intrinsics, though it provides inline
      function implementations for them, by emulation. Since the code
      already has portable code paths without using the intrinsics,
      instead of using the emulated intrinsic implementations, we use
      the said portable code paths for ARM64EC.
      Ben Niu committed