Reland "Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits)"
This is a reland off33749f5db
Original change's description: > Reland "Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits)" > > This is a reland of6db04c43bc
> > Original change's description: > > Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits) > > > >8fa8794677..79a2e924d9
> > > > Main changes in this patch: > > -Adds a __config_site file that contains some libc++ macros. > > -Links libcpmt.lib/msvcprt.lib (C++ std library headers on windows) to > > the link, which provide exception_ptr definitions. Previously, > > a file was including a windows header that would link these > > headers, but that header is no longer being included. > > > > > > $ git log 8fa879467..79a2e924d --date=short --no-merges --format='%ad %ae %s' > > 2021-05-25 ldionne.2 [libc++] Try to fix the oss-fuzz failure > > 2021-05-25 arthur.j.odwyer [libc++] [test] Make iter_difference_t.pass.cpp into a .compile.pass.cpp. NFCI. > > 2021-05-25 arthur.j.odwyer [libc++] [test] Format some C++20 iterator_traits tests. NFCI. > > 2021-05-19 arthur.j.odwyer [libc++] Assume that __wrap_iter always wraps a fancy pointer. > > 2021-05-24 koraq [libc++][doc] Update format paper status. > > 2021-05-23 joerg [libc++] use more early returns for consistency > > 2021-05-21 z.zoelec2 [libcxx][gardening] Re-order includes across libcxx. > > 2021-04-23 z.zoelec2 [libcxx][ranges] Add ranges::data CPO. > > 2021-05-08 ldionne.2 [libc++] Translate the test suite sanitizer support to the DSL > > 2021-05-13 z.zoelec2 [libcxx][ranges] Implement `ranges::borrowed_range`. > > 2021-05-20 ldionne.2 [libc++] Fix documentation build failure > > 2021-05-08 ldionne.2 [libc++] Remove workaround for PR28391 (ODR violations with ASAN) > > 2021-02-26 ldionne.2 [libc++] Switch a few CI jobs to the minimal Lit configuration > > 2021-05-13 cjdb [libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size` > > 2021-05-04 cjdb [libcxx][iterator][nfc] acquires lock for working on [range.iter.ops] > > 2021-03-15 akhuang Apply [[standalone_debug]] to some types in the STL. > > 2021-05-12 arthur.j.odwyer [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. > > 2021-05-12 arthur.j.odwyer [libc++] Some fixes to the <bit> utilities. > > 2021-04-18 kbessonova [libcxx][test] Attempt to make debug mode tests more bulletproof > > 2021-05-15 kbessonova [libcxx] NFC. Add missed articles to _LIPCPP_ASSERT messages in <list> > > 2021-04-27 z.zoelec2 [libcxx][ranges] Add `contiguous_iterator`. > > 2021-05-13 koraq [libc++] Improve make_string test support. > > 2021-03-11 martin [libcxx] [test] Change the generic_string_alloc test to test conversions to all char types > > 2021-05-13 z.zoelec2 [libcxx][docs] Add two locks: transform_view and take_view. > > 2021-05-13 z.zoelec2 [libcxx][docs] Update the One Ranges PRoposal Status with open revisions. > > 2021-05-11 z.zoelec2 [libcxx][ranges] Fix `ranges::empty` when begin, end, and empty members are provided. > > 2021-05-12 kbessonova [libcxx] NFC. Fix misprint unodered -> unordered > > 2021-05-02 cjdb [libcxx] modifies `_CmpUnspecifiedParam` ignore types outside its domain > > 2021-05-03 martin [libcxx] [test] Fix fs.op.last_write_time for Windows > > 2021-05-12 koraq [libc++][nfc] remove duplicated __to_unsigned. > > 2021-05-09 kbessonova [libcxx] NFC. Correct wordings of _LIBCPP_ASSERT debug messages > > 2021-05-10 kbessonova [libcxx][test] Split more debug mode tests > > 2021-05-11 vvereschaka [libc++] Run `substitutes-in-compile-flags.sh.cpp` test on Windows. > > 2021-02-26 martin [libcxx] [test] Fix filesystem permission tests for windows > > 2021-05-11 z.zoelec2 [libcxx][tests] Fix incomplte.verify tests by disabling them on clang-10. > > 2021-05-10 arthur.j.odwyer [libc++] Remove more unnecessary _VSTD:: from type names. NFCI. > > 2021-05-10 arthur.j.odwyer [libc++] s/_VSTD::is_unsigned/is_unsigned/ in <random>. NFCI. > > 2021-05-10 arthur.j.odwyer [libc++] s/_VSTD::chrono/chrono/g. NFCI. > > 2021-05-10 arthur.j.odwyer [libc++] s/std::size_t/size_t/g. NFCI. > > 2021-05-10 arthur.j.odwyer [libc++] s/_VSTD::declval/declval/g. NFCI. > > 2021-05-10 kbessonova [libcxx][test] Make string.modifiers/clear_and_shrink_db1.pass.cpp a regular mode test > > 2021-05-02 cjdb [libcxx] deprecates/removes `std::raw_storage_iterator` > > 2021-05-01 cjdb [libcxx] makes comparison operators for `std::*_ordering` types hidden friends > > 2021-04-12 cjdb [libcxx] removes operator!= and globally guards against no spaceship operator > > 2021-04-23 z.zoelec2 [libcxx][ranges] Add ranges::empty CPO. > > 2021-04-12 cjdb [libcxx] removes `weak_equality` and `strong_equality` from <compare> > > 2021-05-09 koraq [libc++][NFC] Remove _VSTD:: when not needed. > > 2021-05-10 jasonliu.development [libc++][AIX] Define _LIBCPP_ELAST > > 2021-05-09 koraq [libc++][doc] Update the Format library status. > > 2021-05-08 ldionne.2 [libc++] NFC: Refactor Lit annotations > > (...) > > 2021-02-24 martin [libcxx] [test] Quote the path to the python interpreter > > 2021-02-24 ldionne.2 [libc++] NFC: Fix a few tests in tuple that would succeed trivially > > 2021-02-24 ldionne.2 [libc++] NFC: Fix a few tests in pair that would succeed trivially > > 2020-10-22 martin [libcxx] [test] Don't pass INCLUDE to clang via -isystem > > 2021-02-24 marek.kurdej [libc++] [docs] [C++2b] Update status page with papers adopted in February 2021 virtual meeting. > > 2020-11-02 martin [libcxx] [test] Define _CRT_STDIO_ISO_WIDE_SPECIFIERS while building tests > > 2021-02-22 koraq [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage. > > 2018-07-31 ldionne [libc++] Fix tuple assignment from types derived from a tuple-like > > 2021-02-20 martin [libcxx] [test] Call create_directory_symlink when linking directories > > 2020-11-06 martin [libcxx] Make path::format a non-class enum > > 2021-02-20 koraq [libc++] Fix the build for AppleClang. > > 2021-02-19 martin [libcxx] [test] Remove two unnecesary files/variables in a test > > 2021-01-09 martin [libcxx] Rename a method in PathParser for clarity. NFC. > > 2021-02-20 koraq [libc++] Fixes _LIBCPP_HAS_NO_CONCEPTS > > 2021-02-19 z.zoelec2 [libc++][nfc] Only test if pair is_assignable after C++03. > > 2020-11-05 martin [libcxx] Enable filesystem by default for mingw targets > > 2021-02-19 z.zoelec2 [libc++][nfc] SFINAE on pair/tuple assignment operators: LWG 2729. > > 2020-11-09 martin [libcxx] Make generic_*string return paths with forward slashes on windows > > 2021-02-19 z.zoelec2 [libcxx] Fix LWG 2875: shared_ptr::shared_ptr(Y*, D, […]) constructors should be constrained. > > 2020-11-05 martin [libcxx] Have lexically_normal return the path with preferred separators > > 2021-02-19 marek.kurdej [libc++] Turn off clang-format for auto-generated version header. NFC. > > 2021-02-18 z.zoelec2 [libc++] shared_ptr deleter requirements (LWG 2802). > > 2021-02-18 z.zoelec2 Mark 2534 as Complete. > > 2021-02-17 cjdb.ns [libcxx] adds concept `std::uniform_random_bit_generator` > > 2021-02-17 joerg libcxx: use early returns > > 2021-02-18 thakis libcxx: fix a documentation typo > > 2021-02-18 zibi [SystemZ][ZOS] Guard using declaration for ::fchmodat > > 2020-11-04 martin [libcxx] Implement append and operator/ properly for windows > > 2020-11-01 martin [libcxx] Implement is_absolute properly for windows > > 2021-02-17 ldionne.2 [libc++] Allow retries in a few more flaky tests > > 2020-11-03 martin [libcxx] Implement parsing of root_name for paths on windows > > 2021-02-16 zibi [SystemZ][ZOS] Prefer -nostdlib++ as opposed to -nodefaultlibs when building c++ libraries > > 2021-02-16 colin [libc++] Build thread_win32.cpp only if LIBCXX_HAS_PTHREAD_API is not set > > 2021-02-15 arthur.j.odwyer [libc++] Change `std::numeric_limits` to just `numeric_limits` in <chrono>. > > 2021-02-15 ldionne.2 [libc++] Mark __cpp_lib_constexpr_memory as being implemented > > 2021-02-15 dimitry Define new/delete in libc++ when using libcxxrt > > 2021-02-12 zibi [SystemZ][ZOS] Fix __libcpp_thrad_isnull() > > 2021-02-12 zibi [SystemZ][ZOS] Provide CLOCK_MONOTONIC alternative > > 2021-02-11 koraq [libc++][format] Enable format_error on older compilers. > > 2021-02-11 koraq [libc++][format] Improve Add basic_format_parse_context. > > 2021-02-02 koraq [libc++][format] Add basic_format_parse_context. > > 2021-02-10 tokarip [libc++] Use builtins in more math.h functions. > > 2021-02-08 cjdb [libcxx] adds concepts `std::invocable` and `std::regular_invocable` > > 2021-02-04 cjdb [libcxx] adds concept std::derived_from > > 2021-01-21 cjdb [libcxx] adds [concepts.arithmetic] > > 2021-02-10 ldionne.2 [libc++] Remove c++98 Lit features in the test suite > > 2021-02-08 cjdb [libcxx] adds concept `std::copy_constructible` > > 2021-02-08 cjdb [libcxx] adds concept `std::move_constructible` > > 2021-02-10 colin [libc++] Fix copy-paste mistake in __threading_support > > 2021-02-04 cjdb [libcxx] adds concept `std::convertible_to` > > > > Created with: > > roll-dep src/buildtools/third_party/libc++/trunk > > > > Bug: 1212755 > > Change-Id: Ifeda696255c9b32f736249a041f50e4538938e7d > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2917761 > > Reviewed-by: Amy Huang <akhuang@google.com> > > Reviewed-by: Nico Weber <thakis@chromium.org> > > Reviewed-by: Reid Kleckner <rnk@chromium.org> > > Reviewed-by: Hans Wennborg <hans@chromium.org> > > Reviewed-by: David Bokan <bokan@chromium.org> > > Commit-Queue: Amy Huang <akhuang@google.com> > > Cr-Commit-Position: refs/heads/master@{#894495} > > Bug: 1212755 > Change-Id: I2342e3b3c3e07148ef3cd26458e8e4324a1e1a80 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2988699 > Reviewed-by: Amy Huang <akhuang@google.com> > Reviewed-by: Nico Weber <thakis@chromium.org> > Reviewed-by: David Bokan <bokan@chromium.org> > Owners-Override: Nico Weber <thakis@chromium.org> > Commit-Queue: Nico Weber <thakis@chromium.org> > Commit-Queue: Xiaohui Chen <xiaohuic@chromium.org> > Cr-Commit-Position: refs/heads/master@{#896201} Bug: 1212755 Bug: 1222559 Change-Id: Ided90392d47b639e9311ae7aca9ab59e13487a6f Cq-Include-Trybots: luci.chrome.try:chromeos-betty-pi-arc-chrome;luci.chrome.try:linux-chromeos-chrome Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3011898 Reviewed-by: Tao Wu <wutao@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Tao Wu <wutao@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Owners-Override: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#899292}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
edf92cb628
commit
804355e413
4
DEPS
4
DEPS
@ -405,7 +405,7 @@ vars = {
|
||||
|
||||
# If you change this, also update the libc++ revision in
|
||||
# //buildtools/deps_revisions.gni.
|
||||
'libcxx_revision': '8fa87946779682841e21e2da977eccfb6cb3bded',
|
||||
'libcxx_revision': '79a2e924d96e2fc1e4b937c42efd08898fa472d7',
|
||||
|
||||
# GN CIPD package version.
|
||||
'gn_version': 'git_revision:31f2bba8aafa8015ca5761100a21f17c2d741062',
|
||||
@ -1653,7 +1653,7 @@ deps = {
|
||||
Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'),
|
||||
|
||||
'src-internal': {
|
||||
'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@c0a9914dabbe63b5f97254447eed91a4df4cb656',
|
||||
'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@8890d98d99513170b03d869aff1ab740e8dc98e0',
|
||||
'condition': 'checkout_src_internal',
|
||||
},
|
||||
|
||||
|
@ -33,6 +33,7 @@ config("runtime_library") {
|
||||
cflags = []
|
||||
cflags_cc = []
|
||||
defines = []
|
||||
include_dirs = []
|
||||
ldflags = []
|
||||
libs = []
|
||||
|
||||
@ -60,12 +61,9 @@ config("runtime_library") {
|
||||
}
|
||||
}
|
||||
|
||||
defines += [
|
||||
"_LIBCPP_ENABLE_NODISCARD",
|
||||
defines += [ "_LIBCPP_ENABLE_NODISCARD" ]
|
||||
|
||||
# TODO(crbug.com/1166707): libc++ requires this macro.
|
||||
"_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS",
|
||||
]
|
||||
include_dirs += [ "//buildtools/third_party/libc++" ]
|
||||
|
||||
# Work around a symbol conflict between GRPC and the Fuchsia SDK.
|
||||
# TODO(crbug.com/1166970): Remove this when resolved.
|
||||
|
@ -490,8 +490,13 @@ config("default_crt") {
|
||||
config("release_crt") {
|
||||
if (is_component_build) {
|
||||
cflags = [ "/MD" ]
|
||||
|
||||
# On Windows, including libcpmt[d]/msvcprt[d] explicitly links the C++
|
||||
# standard library, which libc++ needs for exception_ptr internals.
|
||||
ldflags = [ "/DEFAULTLIB:msvcprt.lib" ]
|
||||
} else {
|
||||
cflags = [ "/MT" ]
|
||||
ldflags = [ "/DEFAULTLIB:libcpmt.lib" ]
|
||||
}
|
||||
}
|
||||
|
||||
@ -499,8 +504,10 @@ config("dynamic_crt") {
|
||||
if (is_debug) {
|
||||
# This pulls in the DLL debug CRT and defines _DEBUG
|
||||
cflags = [ "/MDd" ]
|
||||
ldflags = [ "/DEFAULTLIB:msvcprtd.lib" ]
|
||||
} else {
|
||||
cflags = [ "/MD" ]
|
||||
ldflags = [ "/DEFAULTLIB:msvcprt.lib" ]
|
||||
}
|
||||
}
|
||||
|
||||
@ -508,8 +515,10 @@ config("static_crt") {
|
||||
if (is_debug) {
|
||||
# This pulls in the static debug CRT and defines _DEBUG
|
||||
cflags = [ "/MTd" ]
|
||||
ldflags = [ "/DEFAULTLIB:libcpmtd.lib" ]
|
||||
} else {
|
||||
cflags = [ "/MT" ]
|
||||
ldflags = [ "/DEFAULTLIB:libcpmt.lib" ]
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -103,13 +103,11 @@ if (enable_nocompile_tests) {
|
||||
"-Wthread-safety",
|
||||
"-I" + rebase_path("//", root_build_dir),
|
||||
"-I" + rebase_path("//third_party/abseil-cpp/", root_build_dir),
|
||||
"-I" + rebase_path("//buildtools/third_party/libc++/", root_build_dir),
|
||||
"-I" + rebase_path(root_gen_dir, root_build_dir),
|
||||
|
||||
# TODO(https://crbug.com/989932): Track build/config/compiler/BUILD.gn
|
||||
"-Wno-implicit-int-float-conversion",
|
||||
|
||||
# TODO(crbug.com/1166707): libc++ now requires this macro to be defined.
|
||||
"-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS",
|
||||
]
|
||||
|
||||
if (is_apple && host_os != "mac") {
|
||||
|
@ -5,5 +5,5 @@
|
||||
declare_args() {
|
||||
# Used to cause full rebuilds on libc++ rolls. This should be kept in sync
|
||||
# with the libcxx_revision vars in //DEPS.
|
||||
libcxx_revision = "8fa87946779682841e21e2da977eccfb6cb3bded"
|
||||
libcxx_revision = "79a2e924d96e2fc1e4b937c42efd08898fa472d7"
|
||||
}
|
||||
|
17
buildtools/third_party/libc++/BUILD.gn
vendored
17
buildtools/third_party/libc++/BUILD.gn
vendored
@ -10,11 +10,20 @@ import("//build/toolchain/toolchain.gni")
|
||||
config("config") {
|
||||
cflags = [ "-fstrict-aliasing" ]
|
||||
if (is_win) {
|
||||
# libc++ wants to redefine the macros WIN32_LEAN_AND_MEAN and _CRT_RAND_S in
|
||||
# its implementation.
|
||||
cflags += [ "-Wno-macro-redefined" ]
|
||||
cflags += [
|
||||
# libc++ wants to redefine the macros WIN32_LEAN_AND_MEAN and _CRT_RAND_S in
|
||||
# its implementation.
|
||||
"-Wno-macro-redefined",
|
||||
|
||||
# We want to use a uniform C++ version across all of chromium, but
|
||||
# upstream libc++ requires C++17 so we have to make an exception here.
|
||||
"-std:c++17",
|
||||
]
|
||||
} else {
|
||||
cflags += [ "-fPIC" ]
|
||||
cflags += [
|
||||
"-fPIC",
|
||||
"-std=c++17",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
30
buildtools/third_party/libc++/__config_site
vendored
Normal file
30
buildtools/third_party/libc++/__config_site
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef _LIBCPP_CONFIG_SITE
|
||||
#define _LIBCPP_CONFIG_SITE
|
||||
|
||||
/* #undef _LIBCPP_ABI_VERSION */
|
||||
/* #undef _LIBCPP_ABI_UNSTABLE */
|
||||
/* #undef _LIBCPP_ABI_FORCE_ITANIUM */
|
||||
/* #undef _LIBCPP_ABI_FORCE_MICROSOFT */
|
||||
/* #undef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT */
|
||||
/* #undef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE */
|
||||
/* #undef _LIBCPP_HAS_NO_STDIN */
|
||||
/* #undef _LIBCPP_HAS_NO_STDOUT */
|
||||
/* #undef _LIBCPP_HAS_NO_THREADS */
|
||||
/* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */
|
||||
/* #undef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS */
|
||||
/* #undef _LIBCPP_HAS_MUSL_LIBC */
|
||||
/* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */
|
||||
/* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */
|
||||
/* #undef _LIBCPP_HAS_THREAD_API_WIN32 */
|
||||
/* #undef _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL */
|
||||
/* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */
|
||||
#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
|
||||
/* #undef _LIBCPP_NO_VCRUNTIME */
|
||||
/* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */
|
||||
/* #undef _LIBCPP_ABI_NAMESPACE */
|
||||
/* #undef _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY */
|
||||
/* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */
|
||||
/* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */
|
||||
/* #undef _LIBCPP_HAS_NO_LOCALIZATION */
|
||||
|
||||
#endif // _LIBCPP_CONFIG_SITE
|
@ -264,7 +264,6 @@ void DlpClipboardNotifier::OnWidgetClosing(views::Widget* widget) {
|
||||
}
|
||||
|
||||
void DlpClipboardNotifier::WebContentsDestroyed() {
|
||||
std::move(blink_paste_cb_);
|
||||
CloseWidget(widget_.get(), views::Widget::ClosedReason::kUnspecified);
|
||||
}
|
||||
|
||||
|
@ -276,7 +276,6 @@ void ExtensionInstallEventLogUploader::OnSerialized(
|
||||
std::unique_ptr<::reporting::ReportQueue> report_queue,
|
||||
base::OnceCallback<void()> on_set_cb) {
|
||||
uploader->SetReportQueue(std::move(report_queue));
|
||||
std::move(on_set_cb);
|
||||
},
|
||||
std::move(uploader), std::move(report_queue),
|
||||
std::move(on_set_cb));
|
||||
|
@ -7,7 +7,7 @@
|
||||
// device_info.h's size can impact build time. Try not to raise this limit
|
||||
// unless absolutely necessary. See
|
||||
// https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md
|
||||
#pragma clang max_tokens_here 505000
|
||||
#pragma clang max_tokens_here 506000
|
||||
|
||||
#include <utility>
|
||||
|
||||
|
Reference in New Issue
Block a user