Fix all warnings when building with CMake + clang Change-Id: I987b4580f5f99584649b2b189369a0b962b0c3d4 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/31721 Commit-Queue: dan sinclair <dsinclair@chromium.org> Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/ast/block_statement.h b/src/ast/block_statement.h index 3c2a268..8fc2ce7 100644 --- a/src/ast/block_statement.h +++ b/src/ast/block_statement.h
@@ -46,7 +46,8 @@ /// @param index the index to insert at /// @param stmt the statement to insert void insert(size_t index, std::unique_ptr<ast::Statement> stmt) { - statements_.insert(statements_.begin() + index, std::move(stmt)); + auto offset = static_cast<decltype(statements_)::difference_type>(index); + statements_.insert(statements_.begin() + offset, std::move(stmt)); } /// @returns true if the block is empty
diff --git a/src/ast/type/array_type.cc b/src/ast/type/array_type.cc index 8a497d8..9a5960a 100644 --- a/src/ast/type/array_type.cc +++ b/src/ast/type/array_type.cc
@@ -59,8 +59,8 @@ uint64_t ArrayType::BaseAlignment(MemoryLayout mem_layout) const { if (mem_layout == MemoryLayout::kUniformBuffer) { float aligment = 16; // for a vec4 - float unaligned = subtype_->BaseAlignment(mem_layout); - return aligment * std::ceil(unaligned / aligment); + float unaligned = static_cast<float>(subtype_->BaseAlignment(mem_layout)); + return static_cast<uint64_t>(aligment * std::ceil(unaligned / aligment)); } else if (mem_layout == MemoryLayout::kStorageBuffer) { return subtype_->BaseAlignment(mem_layout); }
diff --git a/src/ast/type/i32_type.cc b/src/ast/type/i32_type.cc index ec1b26e..61b4990 100644 --- a/src/ast/type/i32_type.cc +++ b/src/ast/type/i32_type.cc
@@ -30,11 +30,11 @@ return "__i32"; } -uint64_t I32Type::MinBufferBindingSize(MemoryLayout mem_layout) const { +uint64_t I32Type::MinBufferBindingSize(MemoryLayout) const { return 4; } -uint64_t I32Type::BaseAlignment(MemoryLayout mem_layout) const { +uint64_t I32Type::BaseAlignment(MemoryLayout) const { return 4; }
diff --git a/src/ast/type/struct_type.cc b/src/ast/type/struct_type.cc index ba7a9b3..98b426c 100644 --- a/src/ast/type/struct_type.cc +++ b/src/ast/type/struct_type.cc
@@ -59,10 +59,10 @@ return 0; } - float unaligned = last_member->offset() + size; - float alignment = BaseAlignment(mem_layout); + float unaligned = static_cast<float>(last_member->offset() + size); + float alignment = static_cast<float>(BaseAlignment(mem_layout)); - return alignment * std::ceil(unaligned / alignment); + return static_cast<uint64_t>(alignment * std::ceil(unaligned / alignment)); } uint64_t StructType::BaseAlignment(MemoryLayout mem_layout) const { @@ -75,7 +75,8 @@ if (mem_layout == MemoryLayout::kUniformBuffer) { // Round up to a vec4. - return 16 * std::ceil(static_cast<float>(max) / 16.0f); + return static_cast<uint64_t>(16 * + std::ceil(static_cast<float>(max) / 16.0f)); } else if (mem_layout == MemoryLayout::kStorageBuffer) { return max; }