Roll partition_alloc and build dependencies.
Roll partition_alloc, who depends on the new clang version. I suspect
most build tools depend on each other, so they have been rolled too.
[Rolls]
Roll build/ c6118a585..007a74bf7 (528 commits)
Roll buildtools/ 48ab3bd05..efa920ce1 (132 commits)
Roll third_party/clang-format/script/ 8b525d274..95c834f37 (51 commits)
Roll third_party/libc++/src/ 278060665..93a8f551c (718 commits)
Roll third_party/libc++abi/src/ 0226cb1cd..5f2c9767c (45 commits)
Roll third_party/partition_alloc/ 67fd2f86e..f941becc7 (186 commits)
Roll third_party/zlib/ 526382e41..209717dd6 (57 commits)
Roll tools/clang/ de6b303a8..7d6eb6025 (128 commits)
Roll tools/rust/ bcaf16e55..e509baed5 (35 commits)
[Diffs]:
https://chromium.googlesource.com/chromium/src/base/allocator/partition_allocator.git/+log/67fd2f86eef4..f941becc7efa
https://chromium.googlesource.com/chromium/src/build/+log/c6118a585ff6..007a74bf79d5
https://chromium.googlesource.com/chromium/src/buildtools/+log/48ab3bd053bf..efa920ce144e
https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/526382e41c9c..209717dd69cd
https://chromium.googlesource.com/chromium/src/tools/clang/+log/de6b303a8915..7d6eb60255e8
https://chromium.googlesource.com/chromium/src/tools/rust/+log/bcaf16e552b1..e509baed59ec
https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git/+log/8b525d2747f2..95c834f3753e
https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/278060665f95..93a8f551c85a
https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/0226cb1cdfe7..5f2c9767ceae
Change-Id: I036e69510d3aa780d05ad0a2bf1258c061881019
Bug: chromium:41481467
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189780
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
diff --git a/DEPS b/DEPS
index 938d37d..77bf617 100644
--- a/DEPS
+++ b/DEPS
@@ -64,11 +64,11 @@
deps = {
'buildtools': {
- 'url': '{chromium_git}/chromium/src/buildtools@48ab3bd053bfe2fef4635d7cb1861f8923167b96',
+ 'url': '{chromium_git}/chromium/src/buildtools@efa920ce144e4dc1c1841e73179cd7e23b9f0d5e',
'condition': 'dawn_standalone',
},
'third_party/clang-format/script': {
- 'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@8b525d2747f2584fc35d8c7e612e66f377858df7',
+ 'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@95c834f3753e65ce6daa74e345c879566c1491d0',
'condition': 'dawn_standalone',
},
'buildtools/linux64': {
@@ -102,12 +102,12 @@
},
'third_party/libc++/src': {
- 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@278060665f956b98b54922e3cb5e38b07884ce7d',
+ 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@93a8f551c85a12ab102407db0f9a2236bcac505a',
'condition': 'dawn_standalone',
},
'third_party/libc++abi/src': {
- 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@0226cb1cdfe740b173394e1cebbd0dcf293e38ad',
+ 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@5f2c9767ceaeb8a21e4004890bf2c6b08faa8687',
'condition': 'dawn_standalone',
},
@@ -115,15 +115,15 @@
# The //build, //tools/clang, and //tools/rust deps should all be updated
# in unison, as there are dependencies between them.
'build': {
- 'url': '{chromium_git}/chromium/src/build@c6118a585ff6b2ef9f9a3b180d57b3cbf79e1788',
+ 'url': '{chromium_git}/chromium/src/build@007a74bf79d5c749f6c217f743999ffdcea4cbec',
'condition': 'dawn_standalone',
},
'tools/clang': {
- 'url': '{chromium_git}/chromium/src/tools/clang@de6b303a8915c2610e6ff30f5e7c89b2c8e4e2af',
+ 'url': '{chromium_git}/chromium/src/tools/clang@7d6eb60255e85509c5124e727d5c9502a344c9f1',
'condition': 'dawn_standalone',
},
'tools/rust': {
- 'url': '{chromium_git}/chromium/src/tools/rust@bcaf16e552b19d4f5d67636d8373c172a2cf8a1a',
+ 'url': '{chromium_git}/chromium/src/tools/rust@e509baed59ecd097b6fe27c0ffabd3be5ed87860',
'condition': 'dawn_standalone and checkout_rust',
},
'tools/clang/dsymutil': {
@@ -322,7 +322,7 @@
},
'third_party/zlib': {
- 'url': '{chromium_git}/chromium/src/third_party/zlib@526382e41c9c5275dc329db4328b54e4f344a204',
+ 'url': '{chromium_git}/chromium/src/third_party/zlib@209717dd69cd62f24cbacc4758261ae2dd78cfac',
'condition': 'dawn_standalone',
},
@@ -442,7 +442,7 @@
# Dependencies for PartitionAlloc.
# Doc: https://docs.google.com/document/d/1wz45t0alQthsIU9P7_rQcfQyqnrBMXzrOjSzdQo-V-A
'third_party/partition_alloc': {
- 'url': '{chromium_git}/chromium/src/base/allocator/partition_allocator.git@67fd2f86eef40b1357387e2b0fc1eaf3c67d6ed7',
+ 'url': '{chromium_git}/chromium/src/base/allocator/partition_allocator.git@f941becc7efa75971aa4e83d0cd3217f4f1ef57f',
'condition': 'dawn_standalone',
},
}
diff --git a/build b/build
index c6118a5..007a74b 160000
--- a/build
+++ b/build
@@ -1 +1 @@
-Subproject commit c6118a585ff6b2ef9f9a3b180d57b3cbf79e1788
+Subproject commit 007a74bf79d5c749f6c217f743999ffdcea4cbec
diff --git a/build_overrides/partition_alloc.gni b/build_overrides/partition_alloc.gni
index b1aa9f5..3c01fdb 100644
--- a/build_overrides/partition_alloc.gni
+++ b/build_overrides/partition_alloc.gni
@@ -20,8 +20,23 @@
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import("//build/config/android/config.gni")
+import("//build/config/cast.gni")
+import("//build/config/chromeos/ui_mode.gni")
+import("//build/config/compiler/compiler.gni")
+import("//build/config/cronet/config.gni")
+import("//build/config/dcheck_always_on.gni")
+import("//build/config/logging.gni")
import("//build/config/sanitizers/sanitizers.gni")
+partition_alloc_enable_arc_config = "//build/config/compiler:enable_arc"
+
+# partition_alloc is performance critical and it should generally be optimized for speed, even in
+# debug mode. Dawn doesn't really need its debug version.
+partition_alloc_remove_configs =
+ [ "//build/config/compiler:default_optimization" ]
+partition_alloc_add_configs = [ "//build/config/compiler:optimize_speed" ]
+
# MSVC's cl.exe compiler is not supported.
_compiler_supported = is_clang || !is_win
@@ -48,3 +63,8 @@
raw_ptr_zero_on_construct_default = true
raw_ptr_zero_on_move_default = true
raw_ptr_zero_on_destruct_default = false
+
+# Allow embedders to opt-out of C++20 build which is set as default.
+#
+# Dawn still uses C++17 only, because of Skia.
+assert_cpp20_default = false
diff --git a/buildtools b/buildtools
index 48ab3bd..efa920c 160000
--- a/buildtools
+++ b/buildtools
@@ -1 +1 @@
-Subproject commit 48ab3bd053bfe2fef4635d7cb1861f8923167b96
+Subproject commit efa920ce144e4dc1c1841e73179cd7e23b9f0d5e
diff --git a/src/tint/BUILD.gn b/src/tint/BUILD.gn
index 2544db7..13973d3 100644
--- a/src/tint/BUILD.gn
+++ b/src/tint/BUILD.gn
@@ -50,6 +50,13 @@
"${tint_root_dir}",
"${tint_gen_dir}",
]
+
+ # Some versions of MSVC ignores the [[noreturn]] on ~InternalCompilerError(),
+ # triggering a warning if it is the last statement on a function that has a
+ # return value.
+ if (!is_clang && is_win) {
+ cflags = [ "/wd4715" ]
+ }
}
config("tint_public_config") {
diff --git a/src/tint/CMakeLists.txt b/src/tint/CMakeLists.txt
index 6e7534e..9fd4316 100644
--- a/src/tint/CMakeLists.txt
+++ b/src/tint/CMakeLists.txt
@@ -154,7 +154,7 @@
endif()
# Some versions of MSVC ignores the [[noreturn]] on ~InternalCompilerError(), triggering a
- # warning if its the last statement on a function that has a return value.
+ # warning if it is the last statement on a function that has a return value.
target_compile_options(${TARGET} PRIVATE
/wd4715 # not all control paths return a value
)
diff --git a/src/tint/lang/msl/writer/raise/shader_io.cc b/src/tint/lang/msl/writer/raise/shader_io.cc
index c4c8839..768a168 100644
--- a/src/tint/lang/msl/writer/raise/shader_io.cc
+++ b/src/tint/lang/msl/writer/raise/shader_io.cc
@@ -155,7 +155,7 @@
core::ir::Value* GetInput(core::ir::Builder& builder, uint32_t idx) override {
auto index = input_indices[idx];
auto* param = input_params[index.param_index];
- if (auto* str = param->Type()->As<core::type::Struct>()) {
+ if (param->Type()->Is<core::type::Struct>()) {
return builder.Access(inputs[idx].type, param, u32(index.member_index))->Result(0);
} else {
return param;
diff --git a/src/tint/lang/wgsl/ast/transform/array_length_from_uniform_fuzz.cc b/src/tint/lang/wgsl/ast/transform/array_length_from_uniform_fuzz.cc
index 7b1f693..f8b5252 100644
--- a/src/tint/lang/wgsl/ast/transform/array_length_from_uniform_fuzz.cc
+++ b/src/tint/lang/wgsl/ast/transform/array_length_from_uniform_fuzz.cc
@@ -41,7 +41,7 @@
for (auto* node : program.ASTNodes().Objects()) {
if (auto* let = node->As<ast::Let>()) {
if (auto* sem = program.Sem().Get(let)) {
- if (auto* ptr = sem->Type()->As<core::type::Pointer>()) {
+ if (sem->Type()->Is<core::type::Pointer>()) {
return false;
}
}
diff --git a/third_party/clang-format/script b/third_party/clang-format/script
index 8b525d2..95c834f 160000
--- a/third_party/clang-format/script
+++ b/third_party/clang-format/script
@@ -1 +1 @@
-Subproject commit 8b525d2747f2584fc35d8c7e612e66f377858df7
+Subproject commit 95c834f3753e65ce6daa74e345c879566c1491d0
diff --git a/third_party/libc++/src b/third_party/libc++/src
index 2780606..93a8f55 160000
--- a/third_party/libc++/src
+++ b/third_party/libc++/src
@@ -1 +1 @@
-Subproject commit 278060665f956b98b54922e3cb5e38b07884ce7d
+Subproject commit 93a8f551c85a12ab102407db0f9a2236bcac505a
diff --git a/third_party/libc++abi/src b/third_party/libc++abi/src
index 0226cb1..5f2c976 160000
--- a/third_party/libc++abi/src
+++ b/third_party/libc++abi/src
@@ -1 +1 @@
-Subproject commit 0226cb1cdfe740b173394e1cebbd0dcf293e38ad
+Subproject commit 5f2c9767ceaeb8a21e4004890bf2c6b08faa8687
diff --git a/third_party/partition_alloc b/third_party/partition_alloc
index 67fd2f8..f941bec 160000
--- a/third_party/partition_alloc
+++ b/third_party/partition_alloc
@@ -1 +1 @@
-Subproject commit 67fd2f86eef40b1357387e2b0fc1eaf3c67d6ed7
+Subproject commit f941becc7efa75971aa4e83d0cd3217f4f1ef57f
diff --git a/third_party/zlib b/third_party/zlib
index 526382e..209717d 160000
--- a/third_party/zlib
+++ b/third_party/zlib
@@ -1 +1 @@
-Subproject commit 526382e41c9c5275dc329db4328b54e4f344a204
+Subproject commit 209717dd69cd62f24cbacc4758261ae2dd78cfac
diff --git a/tools/clang b/tools/clang
index de6b303..7d6eb60 160000
--- a/tools/clang
+++ b/tools/clang
@@ -1 +1 @@
-Subproject commit de6b303a8915c2610e6ff30f5e7c89b2c8e4e2af
+Subproject commit 7d6eb60255e85509c5124e727d5c9502a344c9f1
diff --git a/tools/rust b/tools/rust
index bcaf16e..e509bae 160000
--- a/tools/rust
+++ b/tools/rust
@@ -1 +1 @@
-Subproject commit bcaf16e552b19d4f5d67636d8373c172a2cf8a1a
+Subproject commit e509baed59ecd097b6fe27c0ffabd3be5ed87860