commit | 7ec596ebe0a9979753bf955a5fb4ce2f3e16c3ee | [log] [tgz] |
---|---|---|
author | Reid Kleckner <rnk@google.com> | Fri Jan 29 01:32:31 2021 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Jan 28 17:38:34 2021 -0800 |
tree | 3e25776a86e44c45b225bbe05d7fa07edbcec68c | |
parent | f43a84ba6618080780d745bb4cc1515a23956d98 [diff] |
Roll src/buildtools/third_party/libc++/trunk/ d9040c75c..69897abe2 (1149 commits) It has been a long time since the last libc++ roll, so many extra changes were required: - New libc++ cpp files added to gn - Re-generated prebuilt gvr_shim for Android - Updated absl symbols for libc++ roll (crbug.com/1166430) - Updated static initializer expectations for second libc++ iostream initializer - Disabled checked_iterator test relying on std::copy implementation details (crbug.com/1166360) - Added global availability macro for crbug.com/1166707 - Adjusted some pragma max_token limits for new headers - Overrode _LIBCPP_HIDE_FROM_ABI to work around crbug.com/1090975 on Windows - Defined _LIBCPP_NO_NATIVE_SEMAPHORES to work around crbug.com/1166970 https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/d9040c75cfea..69897abe2d4e $ git log d9040c75c..69897abe2 --date=short --no-merges --format='%ad %ae %s' 2021-01-21 ldionne.2 [libc++] Bring back mach_absolute_time implementation of steady_clock 2021-01-22 koraq [NFC][libc++] Update the implementation status. 2021-01-22 ldionne.2 [libc++] Fix broken build when merging libc++abi into libc++ on Apple 2021-01-21 brad [libcxx] Check return value for asprintf() 2021-01-21 marek.kurdej [libc++] Use ioctl when available to get random_device entropy. 2021-01-20 Alexander.Richardson [libc++] Split re.alg tests into locale-dependent and independent tests 2021-01-19 wim.leflere [libc++][P1679] add string contains 2021-01-18 ldionne.2 [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent 2021-01-14 ldionne.2 [libc++] Unbreak the debug mode 2021-01-10 raul [CMake] Remove dead code setting policies to NEW 2021-01-19 Alexander.Richardson [libc++] Sync TEST_HAS_TIMESPEC_GET and _LIBCPP_HAS_TIMESPEC_GET on FreeBSD 2021-01-19 marek.kurdej [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-18 arthur.j.odwyer Regenerate the feature test macro unit-tests. NFCI. 2021-01-12 ldionne.2 [libc++] NFCI: Refactor allocator_traits 2021-01-18 wim.leflere [libc++] improve feature test macro script 2021-01-12 ldionne.2 [libc++] Rename check-cxx-deps to cxx-test-depends for consistency 2021-01-15 rnk Fix libc++ clang-cl build, swap attribute order 2021-01-14 ikudrin [libcxx testing] Fix UB in tests for std::lock_guard 2021-01-12 smeenai [libc++] Give extern templates default visibility on gcc 2020-12-17 martin [libcxx] Avoid overflows in the windows __libcpp_steady_clock_now() 2021-01-12 brad [libcxx] Port to OpenBSD 2020-12-18 arthur.j.odwyer [libc++] Add a missing `<_Compare>` template argument. 2021-01-12 marek.kurdej [libc++] [C++2b] [P1048] Add is_scoped_enum and is_scoped_enum_v. 2021-01-11 marek.kurdej [libc++] Turn off auto-formatting of generated files. NFC. 2021-01-08 ldionne.2 [libc++] NFC: Document the Differential queries to avoid duplicating work 2020-12-25 arthur.j.odwyer [libc++] Mark [P0809] "LWG2831: Comparing Unordered Containers" as Nothing To Do. 2020-12-25 arthur.j.odwyer [libc++] Mark [P0475] "LWG2511: guaranteed copy elision for piecewise construction" as Complete. 2021-01-08 arthur.j.odwyer Re-enable __cpp_lib_constexpr_functional. 2020-12-17 ldionne.2 [libc++/abi] Re-remove unnecessary null pointer checks from operator delete 2020-12-11 ldionne.2 [libc++] LWG2070: Use Allocator construction for objects created with allocate_shared 2021-01-08 marek.kurdej [libc++] Add basic support for -std=c++2b. 2021-01-07 arthur.j.odwyer [libc++] Update generate_feature_test_macro_components.py to match SD-6. 2021-01-08 Alexander.Richardson [libc++] Add missing XFAIL to tests that need __atomic_* libcalls 2021-01-07 arthur.j.odwyer [libc++] Alphabetize generate_feature_test_macro_components.py. NFCI. 2021-01-07 ldionne.2 [libc++] Fix typo in run-buildbot 2021-01-07 marek.kurdej [libc++] Use c++20 instead of c++2a consistently. 2021-01-07 mikhail.maltsev [libcxx] Mark a test as unsupported for C++03 2021-01-07 marek.kurdej [libc++] [CI] Install Tip-of-Trunk clang. 2020-10-28 martin [libcxx] Handle backslash as path separator on windows 2020-12-15 arthur.j.odwyer [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2020-12-30 marek.kurdej [libc++] [docs] Mark contract-related papers as removed from C++20. 2020-12-28 arthur.j.odwyer [libc++] Fix a test failure in 7b00e9fae3 (D93815). 2020-12-28 arthur.j.odwyer [libc++] Fix a test failure in 7b00e9fae3 (D93815). 2020-12-25 arthur.j.odwyer [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn, default_searcher. 2020-12-25 arthur.j.odwyer [libc++] Constexpr-proof some machinery in not_fn.pass.cpp. NFCI. 2020-12-22 Alexander.Richardson [libc++] Add a 'is-lockfree-runtime-function' lit feature 2020-12-19 koraq [NFC][libc++] Fixes swapped comments. 2020-11-04 martin [libcxx] Fix the preexisting directory_iterator code for windows 2020-10-27 martin [libcxx] Convert paths to/from the right narrow code page for narrow strings on windows 2020-11-05 martin [libcxx] Reorder the two u8path functions, to make the following diff more readable. NFC. (...) 2019-12-11 eric [libc++] Fix fuzzing unit tests with exceptions disabled. 2019-12-11 eric [libc++] Add fuzzing tests for parts of <random>. 2019-12-10 ldionne [libc++] Hide some functions and types in <future> and <thread> as hidden 2019-12-06 jaskiewiczs [libcxx] Replace func_name with __name__ for compatibility with Python 3 2019-12-10 ldionne [libcxx] [test] Query the target platform, not the host one 2019-12-06 phosek [libcxx{,abi}] Don't link libpthread and libdl on Fuchsia 2019-12-02 mgorny [libcxx{,abi}] Emit deplibs only when detected by CMake 2019-11-29 dave [libcxx] Add -Wno-deprecated-copy to the test config 2019-11-27 mclow.lists Optimize and fix basic_string move assignment operator. Reviewed as https://reviews.llvm.org/D68623. Thanks to mvels for the patch. 2019-11-07 smeenai [libcxx] Omit unneeded locale fallbacks on Android 21+ 2019-11-21 jaskiewiczs [libcxx] Add Sergej Jaskiewicz to CREDITS.txt 2019-11-18 ldionne [libc++] Separate -include and path to the site config file 2019-11-18 danalbert Fix _LIBCPP_HAS_ definitions for Android. 2019-11-07 danalbert Update the docs for building libc++. 2019-11-18 eric Rename __is_foo_iterator traits to reflect their Cpp17 nature. 2019-11-16 eric [libc++] Add _ITER_CONCEPT and _ITER_TRAITS implementations from C++20 2019-11-16 eric [libc++] Add C++20 contiguous_iterator_tag. 2019-11-16 eric [libc++] Rename __to_raw_pointer to __to_address. 2019-11-15 marek [libc++] [chrono] Fix year_month_weekday::ok() implementation. 2019-11-15 tokarip [libcxx] use __builtin_isnan in std::isnan. 2019-11-15 marek [libc++] [P0920] [P1661] Update status page. 2019-11-14 ldionne [libc++][P1872] span should have size_type, not index_type. 2019-11-14 ldionne [libc++] [P1612] Add missing feature-test macro __cpp_lib_endian. 2019-11-13 marek libc++ status page: Fix HTML. 2019-11-13 dave [libcxx testing] Fix -Wtautological-overlap-compare bug 2019-11-08 mcypark [libc++][P0980] Marked member functions move/copy/assign of char_traits constexpr. 2019-11-11 ndesaulniers change LLVM_VERSION_SUFFIX default from svn to git 2019-11-11 ldionne [libc++] Mark __call_once_proxy as hidden and internal 2019-11-10 mclow.lists libc++ status page: New papers and issues adopted in Belfast 2019-11-09 koraq [libc++] Validate the entire regex is consumed 2019-11-07 ldionne [libc++] Fix potential OOB in poisson_distribution 2019-11-07 ldionne [libc++] Fixed copy/copy_n/copy_backward for compilers that do not support is_constant_evaluated. 2019-11-06 ldionne [libc++] Fix some constexpr tests broken by D68837 2019-11-06 ldionne [libcxx] Make generate_feature_test_macro_components script compatible with Python 3. 2019-11-06 ldionne [libc++][P0202] Marked algorithms copy/copy_n/copy_if/copy_backward constexpr 2019-11-04 jorg Optimize std::midpoint for integers 2019-11-02 compnerd build: avoid custom handling for C++ standard 2019-11-01 david.bolvansky [libcxx] Disable -Wconstant-evaluated for testsuite 2019-10-30 ldionne [libc++] Add test and remove workaround for PR13592 2019-10-24 ldionne [libc++] Force the ABI namespace to be a reserved identifier 2019-10-28 dblaikie PR43764: Qualify a couple of calls to forward_as_tuple to be ADL-resilient. 2019-10-28 z.zoelec2 [NFC] Comment endif to test commit access 2019-10-22 mclow.lists Add all the issues to be voted upon in Belfast 2019-10-25 ldionne [libcxx] [test] Run `chmod +x` on executables when testing via SSH 2019-10-23 stl [www] Change URLs to HTTPS. 2019-10-23 stl [libcxx][NFC] Strip trailing whitespace, fix typo. 2019-10-23 ldionne [NFC] Strip trailing whitespace from libc++ 2019-10-23 Casey [libc++][NFC] Remove excess trailing newlines from most files 2019-10-22 stl [libcxx][test][NFC] Fix comment typos. 2019-10-22 ldionne [NFC] Strip trailing whitespace in test to test Github committing Created with: roll-dep src/buildtools/third_party/libc++/trunk Change-Id: I8c4707303cc4e5c5ea94e5d52ad937f212ab0d1d Bug: 1165953, 1166707, 1166430, 1166360, 1090975, 1166970 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2627939 Reviewed-by: Nasko Oskov <nasko@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> Commit-Queue: Reid Kleckner <rnk@chromium.org> Cr-Commit-Position: refs/heads/master@{#848368} GitOrigin-RevId: 3f200c0d7476ae6fd0112942bafc0280aa8e74fa
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.
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.
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.
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.
Abseil is officially supported on many platforms. See the Abseil platform support guide for details on supported operating systems, compilers, CPUs, etc.
Abseil contains the following C++ library components:
base
Abseil Fundamentals 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
algorithm
library contains additions to the C++ <algorithm>
library and container-based versions of such algorithms.container
container
library contains additional STL-style containers, including Abseil's unordered “Swiss table” containers.debugging
debugging
library contains code useful for enabling leak checks, and stacktrace and symbolization utilities.hash
hash
library contains the hashing framework and default hash functor implementations for hashable types in Abseil.memory
memory
library contains C++11-compatible versions of std::make_unique()
and related memory management facilities.meta
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
numeric
library contains C++11-compatible 128-bit integers.status
status
contains abstractions for error handling, specifically absl::Status
and absl::StatusOr<T>
.strings
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
synchronization
library contains concurrency primitives (Abseil's absl::Mutex
class, an alternative to std::mutex
) and a variety of synchronization abstractions.time
time
library contains abstractions for computing with absolute points in time, durations of time, and formatting and parsing time within time zones.types
types
library contains non-container utility types, like a C++11-compatible version of the C++17 std::optional
type.utility
utility
library contains utility and helper code.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.
The Abseil C++ library is licensed under the terms of the Apache license. See LICENSE for more information.
For more information about Abseil: