Roll/update build-related dependencies
This may help with ASAN issues seen on Windows ASAN (see bug 347169607).
Details:
- Roll depot_tools, build, buildtools, third_party/libc++/src,
third_party/libc++abi, tools/clang, tools/rust
- Newly-required abseil-cpp issue workaround is copied from Chromium
- Add llvm-libc because libc++ now depends on it. llvm-libc/BUILD.gn is
copied from Chromium.
- Moved dsymutil into 'hooks' section instead of 'deps' section to match
Chromium (but with 'dawn_standalone and' prepended).
- Require use_custom_libcxx=false when building with MSVC, because
libc++ doesn't build on MSVC right now. This setting was changed for
the MSVC bots in bsheedy's CL: https://crrev.com/c/6192201
- Work around a spurious MSVC warning that only appears on (CMake?)
release bots. I don't know what it has to do with any of the
dependencies rolled in this CL. I could not reproduce locally.
I think what's happening is MSVC inlines and optimizes `FormatWidth`,
and then if none of the cases is hit then `src_width` will be
uninitialized. This is arguably correct, but some buggy version of
MSVC attributes this issue to the wrong place in the code:
`if (dst_width < src_width)`.
If my suspicion is correct, it goes away either if inlining is
prevented or all codepaths (that return at all) return a value.
Rolled all dependencies to match a recent Chromium revision; steps:
- Add "custom_vars": { "checkout_rust": True } to .gclient
- gclient sync
- roll-dep build buildtools tools/clang tools/rust
- Manually update the other deps to match Chromium DEPS.
Bug: 347169607
Change-Id: Ib6e8b49ed08aa028241bd1bf5092128f920f2ef0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/222337
Reviewed-by: David Neto <dneto@google.com>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: David Neto <dneto@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 6d4fe01..7d680b7 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -29,6 +29,11 @@
import("scripts/dawn_overrides_with_defaults.gni")
import("scripts/tint_overrides_with_defaults.gni")
+if (!is_clang && is_win) {
+ # libc++ cannot currently build with MSVC. See https://anglebug.com/376074941
+ assert(!use_custom_libcxx, "MSVC build requires use_custom_libcxx=false")
+}
+
group("benchmarks") {
testonly = true
deps = [ "src/tint:benchmarks" ]