Roll src/buildtools/third_party/libc++/trunk/ 69897abe2..8fa879467 (67 commits)

https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/69897abe2d4e..8fa879467796

$ git log 69897abe2..8fa879467 --date=short --no-merges --format='%ad %ae %s'
2020-12-05 arthur.j.odwyer [libc++] [LWG2993] reference_wrapper<T> conversion from U&&
2021-02-05 z.zoelec2 [libc++] Add `noexcept` to `string::find` and similar members.
2021-02-09 koraq Revert "[libc++] Require C++20 to build the benchmarks."
2021-02-04 koraq [libc++] Require C++20 to build the benchmarks.
2021-02-06 koraq [libc++] Remove C++11 work-arounds in src.
2021-02-08 ldionne.2 [libc++] Add a wait step in the BuildKite pipeline to shield macOS builders
2021-02-05 saugustine Various minor fixes for python 3
2020-10-29 martin [libcxx] Implement temp_directory_path using GetTempPath on windows
2020-10-30 martin [libcxx] Use the posix code for directory_entry::__do_refresh
2021-02-03 arthur.j.odwyer [libc++] Further improve the contiguous-iterator story, and fix some bugs.
2021-02-05 z.zoelec2 [lic++][docs] Explain noexcept policy for narrow contracts.
2021-02-04 arthur.j.odwyer Revert "Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests.""
2021-02-04 rupprecht Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests."
2021-02-04 marek.kurdej [libc++] Add format check to CI
2021-02-03 ldionne.2 [libc++] Remove the ability to use braced-init for filesystem paths
2021-01-19 ldionne.2 [libc++] Make feature-test macros consistent with availability macros
2021-02-03 ldionne.2 [libc++] Fix libcxx build on 32bit architectures with 64bit time_t defaults e.g. riscv32
2020-12-16 koraq [libc++] Adds a make_string test helper function.
2021-02-02 ldionne.2 [libc++] Rename include/support to include/__support
2020-12-20 arthur.j.odwyer [libc++] [P0879] constexpr std::sort
2021-01-15 arthur.j.odwyer [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter().
2020-11-04 martin [libcxx] Implement the read_symlink function for windows
2020-11-04 martin [libcxx] Implement the permissions function for windows
2020-11-04 martin [libcxx] Implement the canonical function for windows
2020-11-04 martin [libcxx] Implement the current_path function for windows
2021-02-02 ldionne.2 [libc++] Add new queues for specific macOS system versions
2021-02-01 rnk Disable CFI in __get_elem to allow casting a pointer to uninitialized memory
2020-11-04 martin [libcxx] Implement the space function for windows
2021-02-01 joker.eph Revert "[libc++][format] Add basic_format_parse_context."
2020-12-05 koraq [libc++][format] Add basic_format_parse_context.
2020-12-17 koraq [libc++] Implements concept default_initializable.
2021-02-01 ruslan.arutyunyan [libc++] Fix for the Bug 41784
2021-02-01 shivam98.tkg [Branch-Rename] Fix some links
2021-01-31 koraq [libc++] Allow building with C++17.
2021-01-29 Casey [libcxx][test] Silence MSVC narrowing warning
2021-01-29 Casey [libcxx][test] Silence false positive MSVC /analyze warning
2021-01-29 Casey [libcxx][test] explicitly discard bitset::test's return
2020-11-09 martin [libcxx] Sanitize paths before creating symlinks on windows
2020-11-06 martin [libcxx] Hook up a number of operation functions to their windows counterparts
2020-11-04 martin [libcxx] Implement _FilesystemClock::now() and __last_write_time for windows
2020-11-04 martin [libcxx] Implement the stat function family on top of native windows APIs
2021-01-28 Casey [libcxx][test] move libc++-specific tests into the libcxx tree
2021-01-28 Casey [libcxx][test] MoveOnly's comparisons are non-member
2021-01-28 Casey [libcxx][test] Update directory_entry test for C++20
2020-12-17 koraq [libc++] Implements concept constructible_from
2020-11-26 koraq [libc++] Implement format_error.
2020-12-17 arthur.j.odwyer [libc++] [P0879] constexpr std::nth_element, and rewrite its tests.
2021-01-28 ldionne.2 [libc++] Fix extern-templates.sh.cpp test on Linux
2021-01-27 ldionne.2 [libc++] Fix extern template test failing on Windows
2020-12-17 arthur.j.odwyer [libc++] [P0879] constexpr heap and partial_sort algorithms
2021-01-27 simon.tatham [libcxx] Update include/__libcpp_version to match include/__config
2021-01-26 tstellar Bump the trunk major version to 13
2021-01-25 arthur.j.odwyer [libc++] Give `MoveOnly` all six comparison operators, not just == and <.
2021-01-26 ldionne.2 [libc++] Fix oss-fuzz build
2021-01-25 brad [libcxx] random_device, for OpenBSD specify optimal entropy properties
2021-01-11 arthur.j.odwyer [libc++] Support immovable return types in std::function.
2021-01-25 thakis libcxx: Try to fix build after D92044
2021-01-25 ruslan.arutyunyan [libc++] Fix build after 51faba35fd81fbd3af407a29c136895a718ccd96
2020-12-17 arthur.j.odwyer [libc++] [P0879] constexpr std::reverse, partition, *_permutation.
2020-12-26 arthur.j.odwyer [libc++] Implement [P0769] "Add shift to algorithm" (shift_left, shift_right)
2021-01-22 koraq [libc++][doc] Update the release notes.
2021-01-25 ruslan.arutyunyan [libc++] Implement P0655R1 visit<R>: Explicit Return Type for visit
2021-01-25 marek.kurdej [libc++] Set CMAKE_FOLDER. NFC.
2021-01-23 zibi [SystemZ][ZOS] Provide PATH_MAX macro for libcxx
2021-01-23 koraq [libc++] Remove invalid C++20 code from a test.
2020-11-24 koraq [libc++] Implements concept destructible
2021-01-18 schuett [libc++] Introduce __bits

Created with:
  roll-dep src/buildtools/third_party/libc++/trunk

Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
Cq-Include-Trybots: chromium/try:dawn-win10-x86-deps-rel
Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
Cq-Include-Trybots: chromium/try:linux_angle_deqp_rel_ng
Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
Cq-Include-Trybots: chromium/try:linux_chromium_compile_dbg_32_ng
Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
Cq-Include-Trybots: chromium/try:mac-arm64-rel
Cq-Include-Trybots: chromium/try:win-angle-deqp-rel-64
Cq-Include-Trybots: chromium/try:win-asan,win7-rel,win-angle-deqp-rel-32
Cq-Include-Trybots: chrome/try:ipad-device
Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,mac-chrome
Change-Id: I339324c2b12cabbc3968fc54093f3106215d8296
Bug: 1176351
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2685622
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852698}
GitOrigin-RevId: 0515cb94c603fa11feb1ac9aac2e563718e08f45
4 files changed
tree: 67b381d2cc0889caa5b8023f8b78bb9c7e4f9938
  1. .github/
  2. absl/
  3. ci/
  4. CMake/
  5. patches/
  6. ABSEIL_ISSUE_TEMPLATE.md
  7. absl.gni
  8. absl_hardening_test.cc
  9. AUTHORS
  10. BUILD.bazel
  11. BUILD.gn
  12. CMakeLists.txt
  13. conanfile.py
  14. CONTRIBUTING.md
  15. DIR_METADATA
  16. FAQ.md
  17. generate_def_files.py
  18. LICENSE
  19. OWNERS
  20. README.chromium
  21. README.md
  22. roll_abseil.py
  23. symbols_arm64_dbg.def
  24. symbols_arm64_rel.def
  25. symbols_x64_dbg.def
  26. symbols_x64_rel.def
  27. symbols_x64_rel_asan.def
  28. symbols_x86_dbg.def
  29. symbols_x86_rel.def
  30. UPGRADES.md
  31. WORKSPACE
README.md

Abseil - C++ Common Libraries

The repository contains the Abseil C++ library code. Abseil is an open-source collection of C++ code (compliant to C++11) designed to augment the C++ standard library.

Table of Contents

About Abseil

Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.

In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.

Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole.

Quickstart

If you want to just get started, make sure you at least run through the Abseil Quickstart. The Quickstart contains information about setting up your development environment, downloading the Abseil code, running tests, and getting a simple binary working.

Building Abseil

Bazel and CMake are the official build systems for Abseil.

See the quickstart for more information on building Abseil using the Bazel build system.

If you require CMake support, please check the CMake build instructions and CMake Quickstart.

Support

Abseil is officially supported on many platforms. See the Abseil platform support guide for details on supported operating systems, compilers, CPUs, etc.

Codemap

Abseil contains the following C++ library components:

  • base Abseil Fundamentals
    The base library contains initialization code and other code which all other Abseil code depends on. Code within base may not depend on any other code (other than the C++ standard library).
  • algorithm
    The algorithm library contains additions to the C++ <algorithm> library and container-based versions of such algorithms.
  • cleanup
    The cleanup library contains the control-flow-construct-like type absl::Cleanup which is used for executing a callback on scope exit.
  • container
    The container library contains additional STL-style containers, including Abseil's unordered “Swiss table” containers.
  • debugging
    The debugging library contains code useful for enabling leak checks, and stacktrace and symbolization utilities.
  • hash
    The hash library contains the hashing framework and default hash functor implementations for hashable types in Abseil.
  • memory
    The memory library contains C++11-compatible versions of std::make_unique() and related memory management facilities.
  • meta
    The meta library contains C++11-compatible versions of type checks available within C++14 and C++17 versions of the C++ <type_traits> library.
  • numeric
    The numeric library contains C++11-compatible 128-bit integers.
  • status
    The status contains abstractions for error handling, specifically absl::Status and absl::StatusOr<T>.
  • strings
    The strings library contains a variety of strings routines and utilities, including a C++11-compatible version of the C++17 std::string_view type.
  • synchronization
    The synchronization library contains concurrency primitives (Abseil's absl::Mutex class, an alternative to std::mutex) and a variety of synchronization abstractions.
  • time
    The time library contains abstractions for computing with absolute points in time, durations of time, and formatting and parsing time within time zones.
  • types
    The types library contains non-container utility types, like a C++11-compatible version of the C++17 std::optional type.
  • utility
    The utility library contains utility and helper code.

Releases

Abseil recommends users “live-at-head” (update to the latest commit from the master branch as often as possible). However, we realize this philosophy doesn't work for every project, so we also provide Long Term Support Releases to which we backport fixes for severe bugs. See our release management document for more details.

License

The Abseil C++ library is licensed under the terms of the Apache license. See LICENSE for more information.

Links

For more information about Abseil: