Revert "Roll libc++ from be1c391acca0 to 5abc7f839700 (17 revisions)" This reverts commit 99ebc432efc6f3a350332b01180e3b3d88e9ec6c. Reason for revert: LUCI Bisection has identified this change as the culprit of a build failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/compile-analysis/b/8682333274353503889 Sample failed build: https://ci.chromium.org/b/8682333274353503889 If this is a false positive, please report it at http://b.corp.google.com/createIssue?component=1199205&description=Analysis%3A+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F7821679&format=PLAIN&priority=P3&title=Wrongly+blamed+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Fcompile-analysis%2Fb%2F8682333274353503889&type=BUG Original change's description: > Roll libc++ from be1c391acca0 to 5abc7f839700 (17 revisions) > > Depends on: > * https://chromium-review.googlesource.com/c/chromium/src/+/7821000 > * https://chromium-review.googlesource.com/c/chromium/src/+/7822522 > * https://webrtc-review.googlesource.com/c/src/+/470620 > > Ran > > build/modules/modularize/modularize.py --no-cache > > to update most BUILD.gn and module.modulemap.in files. Manually > updated buildtools/third_party/libc++/BUILD.gn to look similar. > > Ran > > third_party/abseil-cpp/generate_def_files.py > > for the (minor) def file updates. > > https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/be1c391acca0..5abc7f839700 > > 2026-05-06 public@kits.net [libcxx][string] Test: fix copy&paste typo for safe_allocator (#195820) > 2026-05-05 aidengrossman@google.com [libcxx] Include __utility/exchange.h in thread.h (#195786) > 2026-05-05 eiytoq@outlook.com [libc++][mdspan] Fix `mdspan::operator[]` bounds checking and implement LWG4020 (#192269) > 2026-05-05 aidengrossman@google.com [libcxx] Remove ASan container overflow checks for SSO strings (#194208) > 2026-05-04 cjdb@google.com [libc++] Add `__exchange` as a C++11 utility (#187953) > 2026-05-04 nikolasklauser@berlin.de [libc++] Remove libc++'s own fenv.h (#194629) > 2026-05-04 nikolasklauser@berlin.de [libc++] Remove libc++'s own ctype.h (#194615) > 2026-05-04 nikolasklauser@berlin.de [libc++] Simplify more <random> engines (#195504) > 2026-05-04 c8ef@outlook.com [libc++] Implement `ranges::fold_right` (#193997) > 2026-05-02 nikolasklauser@berlin.de [libc++] Make __is_seed_sequence a variable template (#195420) > 2026-05-02 sharjeelkhan@google.com Update Android CI and Emulator image to API 23 (#194936) > 2026-05-01 haowei@google.com [libcxx][lit] Fix dsl.sh.py test failure on Windows (#195230) > 2026-05-01 nikolasklauser@berlin.de [libc++][NFC] Simplify the mersenne_twister_engine implementation a bit (#194893) > 2026-04-30 nikolasklauser@berlin.de [libc++] Update macOS and AppleClang (#193711) > 2026-04-30 nikolasklauser@berlin.de [libc++] Refactor std::print to allow for constant folding of the format part (#185459) > 2026-04-30 nikolasklauser@berlin.de [libc++] Remove libc++'s own inttypes.h (#193716) > 2026-04-30 nikolasklauser@berlin.de [libc++] Avoid type-punning locale in ios_base (#193507) > > 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: 503250165 > Compile-Size: libc++ roll > Change-Id: I370861fd0bdd00eade265d6a61834c5c0df6aa66 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7821679 > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > Owners-Override: Nico Weber <thakis@chromium.org> > Commit-Queue: Nico Weber <thakis@chromium.org> > Reviewed-by: Arthur Eubanks <aeubanks@google.com> > Cr-Commit-Position: refs/heads/main@{#1627935} > Bug: 503250165 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I2031adf4c5dd0fb19d9ed3b69129507cf273a10e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7833775 Owners-Override: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com> Commit-Queue: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com> Bot-Commit: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#1628028} NOKEYCHECK=True GitOrigin-RevId: ddceba073f09637bb2e2c1851165f9a846fd92d9
diff --git a/deps_revisions.gni b/deps_revisions.gni index ca52147..876c02f 100644 --- a/deps_revisions.gni +++ b/deps_revisions.gni
@@ -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 = "5abc7f839700f0f17338434e1c1c6a8c87c00c11" + libcxx_revision = "be1c391acca009d8d80535ce924e3d285451cdfa" }
diff --git a/third_party/libc++/BUILD.gn b/third_party/libc++/BUILD.gn index 6d1c342..4fcf919 100644 --- a/third_party/libc++/BUILD.gn +++ b/third_party/libc++/BUILD.gn
@@ -196,6 +196,7 @@ public_deps = [ ":_Builtin_stdint", ":_DarwinFoundation2", + ":std_ctype_h", ] } DarwinFoundation3_module("xlocale") { @@ -329,11 +330,13 @@ libcxx_module("std") { public_deps = [ ":_Builtin_float", - ":_Builtin_inttypes", ":_Builtin_limits", ":_Builtin_stdalign", ":std_core", + ":std_ctype_h", ":std_errno_h", + ":std_fenv_h", + ":std_inttypes_h", ":std_math_h", ":std_private_mbstate_t", ":std_string_h", @@ -362,6 +365,13 @@ ] } + libcxx_module("std_ctype_h") { + public_deps = [ + ":std_config", + ":sysroot_ctype", + ] + } + libcxx_module("std_errno_h") { public_deps = [ ":std_config", @@ -369,6 +379,20 @@ ] } + libcxx_module("std_fenv_h") { + public_deps = [ + ":std_config", + ":sysroot_fenv", + ] + } + + libcxx_module("std_inttypes_h") { + public_deps = [ + ":_Builtin_inttypes", + ":std_config", + ] + } + libcxx_module("std_math_h") { public_deps = [ ":std_core", @@ -415,7 +439,10 @@ public_deps = [ ":std", ":std_core", + ":std_ctype_h", ":std_errno_h", + ":std_fenv_h", + ":std_inttypes_h", ":std_math_h", ":std_private_mbstate_t", ":std_stdatomic_h",
diff --git a/third_party/libc++/libcxx_headers.gni b/third_party/libc++/libcxx_headers.gni index cdd55ac..81052ac 100644 --- a/third_party/libc++/libcxx_headers.gni +++ b/third_party/libc++/libcxx_headers.gni
@@ -11,7 +11,7 @@ import("//buildtools/deps_revisions.gni") assert( - libcxx_revision == "5abc7f839700f0f17338434e1c1c6a8c87c00c11", + libcxx_revision == "be1c391acca009d8d80535ce924e3d285451cdfa", "libcxx_headers.gni and third_party/libc++ are out of sync.$0x0A$0x0AIf you were messing around with the libc++ repository, run:$0x0A`buildtools/third_party/libc++/generate_libcxx_headers.py`$0x0A$0x0AIf the script doesn't resolve the error, file a bug to msta@ with reproduction details.$0x0A") libcxx_headers = [ @@ -1026,6 +1026,7 @@ "//third_party/libc++/src/include/cstring", "//third_party/libc++/src/include/ctgmath", "//third_party/libc++/src/include/ctime", + "//third_party/libc++/src/include/ctype.h", "//third_party/libc++/src/include/cuchar", "//third_party/libc++/src/include/cwchar", "//third_party/libc++/src/include/cwctype", @@ -1052,6 +1053,7 @@ "//third_party/libc++/src/include/ext/__hash", "//third_party/libc++/src/include/ext/hash_map", "//third_party/libc++/src/include/ext/hash_set", + "//third_party/libc++/src/include/fenv.h", "//third_party/libc++/src/include/filesystem", "//third_party/libc++/src/include/flat_map", "//third_party/libc++/src/include/flat_set", @@ -1061,6 +1063,7 @@ "//third_party/libc++/src/include/functional", "//third_party/libc++/src/include/future", "//third_party/libc++/src/include/initializer_list", + "//third_party/libc++/src/include/inttypes.h", "//third_party/libc++/src/include/iomanip", "//third_party/libc++/src/include/ios", "//third_party/libc++/src/include/iosfwd",