0

Reland "Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits)"

This is a reland of f33749f5db

Original change's description:
> Reland "Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits)"
>
> This is a reland of 6db04c43bc
>
> 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:
Amy Huang
2021-07-07 21:23:59 +00:00
committed by Chromium LUCI CQ
parent edf92cb628
commit 804355e413
10 changed files with 60 additions and 18 deletions
DEPS
build
buildtools
chrome/browser
components/sync_device_info

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"
}

@ -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",
]
}
}

@ -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>