0

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

This reverts commit 6db04c43bc.

Reason for revert: breaks chromeos-chrome builds crbug.com/1222564

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: 1222564
Bug: 1212755
Change-Id: I8df91ca5198053b99e650ba8cfb91603335df33a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2978431
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Owners-Override: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#894563}
This commit is contained in:
Joel Hockey
2021-06-22 06:51:55 +00:00
committed by Chromium LUCI CQ
parent e861c0ee83
commit 88bc06cfca
11 changed files with 19 additions and 66 deletions

2
DEPS

@ -400,7 +400,7 @@ vars = {
# If you change this, also update the libc++ revision in
# //buildtools/deps_revisions.gni.
'libcxx_revision': '79a2e924d96e2fc1e4b937c42efd08898fa472d7',
'libcxx_revision': '8fa87946779682841e21e2da977eccfb6cb3bded',
# GN CIPD package version.
'gn_version': 'git_revision:e9b8433248ae2c117644b4e40b33203e7d3da192',

@ -33,7 +33,6 @@ config("runtime_library") {
cflags = []
cflags_cc = []
defines = []
include_dirs = []
ldflags = []
libs = []
@ -61,9 +60,12 @@ config("runtime_library") {
}
}
defines += [ "_LIBCPP_ENABLE_NODISCARD" ]
defines += [
"_LIBCPP_ENABLE_NODISCARD",
include_dirs += [ "//buildtools/third_party/libc++" ]
# TODO(crbug.com/1166707): libc++ requires this macro.
"_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS",
]
# Work around a symbol conflict between GRPC and the Fuchsia SDK.
# TODO(crbug.com/1166970): Remove this when resolved.

@ -489,13 +489,8 @@ 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" ]
}
}
@ -503,10 +498,8 @@ 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" ]
}
}
@ -514,10 +507,8 @@ 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,11 +103,13 @@ 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 = "79a2e924d96e2fc1e4b937c42efd08898fa472d7"
libcxx_revision = "8fa87946779682841e21e2da977eccfb6cb3bded"
}

@ -10,20 +10,11 @@ import("//build/toolchain/toolchain.gni")
config("config") {
cflags = [ "-fstrict-aliasing" ]
if (is_win) {
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",
]
# libc++ wants to redefine the macros WIN32_LEAN_AND_MEAN and _CRT_RAND_S in
# its implementation.
cflags += [ "-Wno-macro-redefined" ]
} else {
cflags += [
"-fPIC",
"-std=c++17",
]
cflags += [ "-fPIC" ]
}
}
@ -64,7 +55,7 @@ target(_libcxx_target_type, "libc++") {
if (is_linux && !is_clang) {
libs = [ "atomic" ]
}
sources = [
"trunk/src/algorithm.cpp",
"trunk/src/any.cpp",

@ -1,30 +0,0 @@
#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,8 +264,7 @@ class LayerTreeHostImplTest : public testing::Test,
uint32_t frame_token,
PresentationTimeCallbackBuffer::PendingCallbacks activated,
const viz::FrameTimingDetails& details) override {
// TODO(crbug.com/1217717): Investigate and remove.
(void)std::move(activated.main_thread_callbacks);
std::move(activated.main_thread_callbacks);
host_impl_->NotifyDidPresentCompositorFrameOnImplThread(
frame_token, std::move(activated.compositor_thread_callbacks), details);
}

@ -264,8 +264,7 @@ void DlpClipboardNotifier::OnWidgetClosing(views::Widget* widget) {
}
void DlpClipboardNotifier::WebContentsDestroyed() {
// TODO(crbug.com/1217717): Investigate and remove.
(void)std::move(blink_paste_cb_);
std::move(blink_paste_cb_);
CloseWidget(widget_.get(), views::Widget::ClosedReason::kUnspecified);
}

@ -276,8 +276,7 @@ void ExtensionInstallEventLogUploader::OnSerialized(
std::unique_ptr<::reporting::ReportQueue> report_queue,
base::OnceCallback<void()> on_set_cb) {
uploader->SetReportQueue(std::move(report_queue));
// TODO(crbug.com/1217717): Investigate and remove.
(void)std::move(on_set_cb);
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 506000
#pragma clang max_tokens_here 505000
#include <utility>