Roll libc++ from 4f05e20cbe1d to 6a83e4982509 (12 revisions)
This roll marks is_pod deprecated, so this CL also updates three
places to no longer use is_pod.
See https://stackoverflow.com/questions/48225673/why-is-stdis-pod-deprecated-in-c20
is_pod becomes either is_standard_layout (for "no vtable" etc) and
is_trivial (for "no ctors" etc). There's also is_trivially_copyable, which should be used for "can memcpy".
chrome/install_static/install_details.cc hands a pointer created
in one module to a different module with a distinct allocation domain.
It moves to is_standard_layout.
The other two looked like they're about copying memory instead,
so I went with is_trivially_copyable there.
4f05e20cbe..6a83e49825
2025-03-13 winner245@hotmail.com [libc++] Optimize ranges::rotate for vector<bool>::iterator (#121168)
2025-03-11 zhenhangwang@huawei.com [regex] fix uncaught exception when string is like "\\_" (#129348)
2025-03-10 dalg24@gmail.com [libc++] Add `-Watomic-memory-ordering` diagnostic tests for `atomic_ref` (#130206)
2025-03-10 hiraditya@msn.com [NFC][libcxx][test] clang-format: search.pass.cpp (#130551)
2025-03-10 de34@live.cn [libc++][docs] Remove mis-added entry for P2513R4 (#130581)
2025-03-10 kadircet@google.com Revert "[libc++] Don't try to wait on a thread that hasn't started in std::async (#125433)"
2025-03-09 koraq@xs4all.nl [libc++][CI] Update action runner base image. (#130433)
2025-03-09 koraq@xs4all.nl [libc++] Protect more code against -Wdeprecated. (#130419)
2025-03-09 de34@live.cn [libc++][NFC] Comment cleanup for `<type_traits>` (#130422)
2025-03-08 hghristov.rmm@gmail.com [libc++][NFC] Fixed bad link in 21.rst (#130428)
2025-03-08 hghristov.rmm@gmail.com [libc++][type_traits] Implements "A type trait to detect reference binding to temporary" (#128649)
2025-03-07 de34@live.cn [libc++] Deprecate `is_pod(_v)` since C++20 (#129471)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/libcxx-chromium
Please CC hans@chromium.org,thakis@chromium.org on the revert to ensure that a human
is aware of the problem.
To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: 402772406
Cq-Include-Trybots: luci.chromium.try:linux-centipede-asan-rel
Change-Id: Iac9c4920a567a0c23052c53594676d3503beadad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6353559
Reviewed-by: Stefano Duo <stefanoduo@google.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439595}
This commit is contained in:
parent
5505828b4c
commit
b49a44d95c
2
DEPS
2
DEPS
@ -527,7 +527,7 @@ vars = {
|
||||
|
||||
# If you change this, also update the libc++ revision in
|
||||
# //buildtools/deps_revisions.gni.
|
||||
'libcxx_revision': '4f05e20cbe1d02fa0871ac88b30eead9e38cab3a',
|
||||
'libcxx_revision': '6a83e4982509c31dc2231d19fa14a2ed90df881f',
|
||||
|
||||
# GN CIPD package version.
|
||||
'gn_version': 'git_revision:6e8e0d6d4a151ab2ed9b4a35366e630c55888444',
|
||||
|
@ -5,5 +5,5 @@
|
||||
declare_args() {
|
||||
# Used to cause full rebuilds on libc++ rolls. This should be kept in sync
|
||||
# with the libcxx_revision var in //DEPS.
|
||||
libcxx_revision = "4f05e20cbe1d02fa0871ac88b30eead9e38cab3a"
|
||||
libcxx_revision = "6a83e4982509c31dc2231d19fa14a2ed90df881f"
|
||||
}
|
||||
|
@ -62,9 +62,13 @@ void InstallDetails::SetForProcess(
|
||||
// static
|
||||
const InstallDetails::Payload* InstallDetails::GetPayload() {
|
||||
assert(g_module_details);
|
||||
static_assert(std::is_pod<Payload>::value, "Payload must be a POD-struct");
|
||||
static_assert(std::is_pod<InstallConstants>::value,
|
||||
"InstallConstants must be a POD-struct");
|
||||
|
||||
// We're handing a pointer to a struct created in one module
|
||||
// to a different module, with distinct allocation domains.
|
||||
static_assert(std::is_standard_layout<Payload>::value,
|
||||
"Payload must have standard layout");
|
||||
static_assert(std::is_standard_layout<InstallConstants>::value,
|
||||
"InstallConstants must have standard layout");
|
||||
return g_module_details->payload_;
|
||||
}
|
||||
|
||||
|
@ -26,8 +26,8 @@ void RequestSingleCrashUpload_ExportThunk(const char* local_id) {
|
||||
|
||||
size_t GetCrashReports_ExportThunk(crash_reporter::Report* reports,
|
||||
size_t reports_size) {
|
||||
static_assert(std::is_pod<crash_reporter::Report>::value,
|
||||
"crash_reporter::Report must be POD");
|
||||
static_assert(std::is_trivially_copyable<crash_reporter::Report>::value,
|
||||
"crash_reporter::Report must be trivially copyable");
|
||||
// Since this could be called across module boundaries, retrieve the full
|
||||
// list of reports into this vector, and then manually copy however much fits
|
||||
// into the caller's copy.
|
||||
|
@ -291,8 +291,8 @@ static void JNI_CronetUrlRequestContext_AddPkp(
|
||||
jinclude_subdomains,
|
||||
base::Time::UnixEpoch() + base::Milliseconds(jexpiration_time)));
|
||||
for (auto bytes_array : jhashes.ReadElements<jbyteArray>()) {
|
||||
static_assert(std::is_pod<net::SHA256HashValue>::value,
|
||||
"net::SHA256HashValue is not POD");
|
||||
static_assert(std::is_trivially_copyable<net::SHA256HashValue>::value,
|
||||
"net::SHA256HashValue is not trivially copyable");
|
||||
static_assert(sizeof(net::SHA256HashValue) * CHAR_BIT == 256,
|
||||
"net::SHA256HashValue contains overhead");
|
||||
if (env->GetArrayLength(bytes_array.obj()) !=
|
||||
|
2
third_party/libc++/src
vendored
2
third_party/libc++/src
vendored
@ -1 +1 @@
|
||||
Subproject commit 4f05e20cbe1d02fa0871ac88b30eead9e38cab3a
|
||||
Subproject commit 6a83e4982509c31dc2231d19fa14a2ed90df881f
|
Loading…
x
Reference in New Issue
Block a user