Fixes to unbreak the BUILD.gn build

Change-Id: I0077bb103fc6940c1af029a65b7069cb6fbec3d9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21201
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@google.com>
diff --git a/samples/main.cc b/samples/main.cc
index 4b22b6a..7ea3f31 100644
--- a/samples/main.cc
+++ b/samples/main.cc
@@ -429,7 +429,7 @@
     }
   }
   if (options.format == Format::kSpirv) {
-    auto w = static_cast<tint::writer::spirv::Generator*>(writer.get());
+    auto* w = static_cast<tint::writer::spirv::Generator*>(writer.get());
     if (!WriteFile(options.output_file, "wb", w->result())) {
       return 1;
     }
diff --git a/src/reader/spirv/function.cc b/src/reader/spirv/function.cc
index 994cc92..40292df 100644
--- a/src/reader/spirv/function.cc
+++ b/src/reader/spirv/function.cc
@@ -325,6 +325,11 @@
 
 }  // namespace
 
+BlockInfo::BlockInfo(const spvtools::opt::BasicBlock& bb)
+    : basic_block(&bb), id(bb.id()) {}
+
+BlockInfo::~BlockInfo() {}
+
 FunctionEmitter::FunctionEmitter(ParserImpl* pi,
                                  const spvtools::opt::Function& function)
     : parser_impl_(*pi),
diff --git a/src/reader/spirv/function.h b/src/reader/spirv/function.h
index 72fb2ab..c2e8b1c 100644
--- a/src/reader/spirv/function.h
+++ b/src/reader/spirv/function.h
@@ -74,8 +74,8 @@
 struct BlockInfo {
   /// Constructor
   /// @param bb internal representation of the basic block
-  explicit BlockInfo(const spvtools::opt::BasicBlock& bb)
-      : basic_block(&bb), id(bb.id()) {}
+  explicit BlockInfo(const spvtools::opt::BasicBlock& bb);
+  ~BlockInfo();
 
   /// The internal representation of the basic block.
   const spvtools::opt::BasicBlock* basic_block;
diff --git a/src/reader/spirv/function_cfg_test.cc b/src/reader/spirv/function_cfg_test.cc
index a37bfab..e1d96d3 100644
--- a/src/reader/spirv/function_cfg_test.cc
+++ b/src/reader/spirv/function_cfg_test.cc
@@ -3944,7 +3944,7 @@
   ASSERT_NE(bi99, nullptr);
   EXPECT_EQ(bi99->case_head_for, nullptr);
   ASSERT_NE(bi99->default_head_for, nullptr);
-  EXPECT_EQ(bi99->default_head_for->begin_id, 10);
+  EXPECT_EQ(bi99->default_head_for->begin_id, 10u);
   EXPECT_TRUE(bi99->default_is_merge);
   EXPECT_EQ(bi99->case_values.get(), nullptr);
 }
@@ -3982,7 +3982,7 @@
   ASSERT_NE(bi30, nullptr);
   EXPECT_EQ(bi30->case_head_for, nullptr);
   ASSERT_NE(bi30->default_head_for, nullptr);
-  EXPECT_EQ(bi30->default_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->default_head_for->begin_id, 10u);
   EXPECT_FALSE(bi30->default_is_merge);
   EXPECT_EQ(bi30->case_values.get(), nullptr);
 }
@@ -4019,7 +4019,7 @@
   const auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->case_head_for, nullptr);
-  EXPECT_EQ(bi20->case_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->case_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->default_head_for, nullptr);
   EXPECT_FALSE(bi20->default_is_merge);
   EXPECT_THAT(*(bi20->case_values.get()), UnorderedElementsAre(200));
@@ -4054,7 +4054,7 @@
   const auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->case_head_for, nullptr);
-  EXPECT_EQ(bi20->case_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->case_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->default_head_for, bi20->case_head_for);
   EXPECT_FALSE(bi20->default_is_merge);
   EXPECT_THAT(*(bi20->case_values.get()), UnorderedElementsAre(200));
@@ -4122,7 +4122,7 @@
   const auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->case_head_for, nullptr);
-  EXPECT_EQ(bi20->case_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->case_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->default_head_for, nullptr);
   EXPECT_FALSE(bi20->default_is_merge);
   EXPECT_THAT(*(bi20->case_values.get()), UnorderedElementsAre(200, 300));
@@ -4365,7 +4365,7 @@
 
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
-  EXPECT_EQ(bi20->succ_edge.count(20), 1);
+  EXPECT_EQ(bi20->succ_edge.count(20), 1u);
   EXPECT_EQ(bi20->succ_edge[20], EdgeKind::kBack);
 }
 
@@ -4397,7 +4397,7 @@
 
   auto* bi40 = fe.GetBlockInfo(40);
   ASSERT_NE(bi40, nullptr);
-  EXPECT_EQ(bi40->succ_edge.count(20), 1);
+  EXPECT_EQ(bi40->succ_edge.count(20), 1u);
   EXPECT_EQ(bi40->succ_edge[20], EdgeKind::kBack);
 }
 
@@ -4432,7 +4432,7 @@
 
   auto* bi50 = fe.GetBlockInfo(50);
   ASSERT_NE(bi50, nullptr);
-  EXPECT_EQ(bi50->succ_edge.count(20), 1);
+  EXPECT_EQ(bi50->succ_edge.count(20), 1u);
   EXPECT_EQ(bi50->succ_edge[20], EdgeKind::kBack);
 }
 
@@ -4491,7 +4491,7 @@
 
   auto* bi = fe.GetBlockInfo(20);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kLoopBreak);
 }
 
@@ -4520,7 +4520,7 @@
 
   auto* bi = fe.GetBlockInfo(20);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kLoopBreak);
 }
 
@@ -4548,7 +4548,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kLoopBreak);
 }
 
@@ -4573,7 +4573,7 @@
 
   auto* bi = fe.GetBlockInfo(20);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kToMerge);
 }
 
@@ -4602,13 +4602,13 @@
   // Then clause
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
-  EXPECT_EQ(bi20->succ_edge.count(99), 1);
+  EXPECT_EQ(bi20->succ_edge.count(99), 1u);
   EXPECT_EQ(bi20->succ_edge[99], EdgeKind::kToMerge);
 
   // Else clause
   auto* bi50 = fe.GetBlockInfo(50);
   ASSERT_NE(bi50, nullptr);
-  EXPECT_EQ(bi50->succ_edge.count(99), 1);
+  EXPECT_EQ(bi50->succ_edge.count(99), 1u);
   EXPECT_EQ(bi50->succ_edge[99], EdgeKind::kToMerge);
 }
 
@@ -4633,7 +4633,7 @@
 
   auto* bi = fe.GetBlockInfo(10);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kSwitchBreak);
 }
 
@@ -4658,7 +4658,7 @@
 
   auto* bi = fe.GetBlockInfo(20);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kSwitchBreak);
 }
 
@@ -4686,7 +4686,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kSwitchBreak);
 }
 
@@ -4711,7 +4711,7 @@
 
   auto* bi = fe.GetBlockInfo(10);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kSwitchBreak);
 }
 
@@ -4742,7 +4742,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kLoopBreak);
 }
 
@@ -4776,7 +4776,7 @@
 
   auto* bi = fe.GetBlockInfo(60);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kLoopBreak);
 }
 
@@ -4807,7 +4807,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(99), 1);
+  EXPECT_EQ(bi->succ_edge.count(99), 1u);
   EXPECT_EQ(bi->succ_edge[99], EdgeKind::kLoopBreak);
 }
 
@@ -4838,7 +4838,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(80), 1);
+  EXPECT_EQ(bi->succ_edge.count(80), 1u);
   EXPECT_EQ(bi->succ_edge[80], EdgeKind::kLoopContinue);
 }
 
@@ -4876,7 +4876,7 @@
 
   auto* bi = fe.GetBlockInfo(40);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(80), 1);
+  EXPECT_EQ(bi->succ_edge.count(80), 1u);
   EXPECT_EQ(bi->succ_edge[80], EdgeKind::kLoopContinue);
 }
 
@@ -4914,7 +4914,7 @@
 
   auto* bi = fe.GetBlockInfo(40);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(80), 1);
+  EXPECT_EQ(bi->succ_edge.count(80), 1u);
   EXPECT_EQ(bi->succ_edge[80], EdgeKind::kLoopContinue);
 }
 
@@ -4953,7 +4953,7 @@
 
   auto* bi = fe.GetBlockInfo(40);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(80), 1);
+  EXPECT_EQ(bi->succ_edge.count(80), 1u);
   EXPECT_EQ(bi->succ_edge[80], EdgeKind::kLoopContinue);
 }
 
@@ -5068,7 +5068,7 @@
 
   auto* bi = fe.GetBlockInfo(40);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(80), 1);
+  EXPECT_EQ(bi->succ_edge.count(80), 1u);
   EXPECT_EQ(bi->succ_edge[80], EdgeKind::kLoopContinue);
 }
 
@@ -5108,7 +5108,7 @@
 
   auto* bi = fe.GetBlockInfo(40);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(80), 1);
+  EXPECT_EQ(bi->succ_edge.count(80), 1u);
   EXPECT_EQ(bi->succ_edge[80], EdgeKind::kLoopContinue);
 }
 
@@ -5139,7 +5139,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(40), 1);
+  EXPECT_EQ(bi->succ_edge.count(40), 1u);
   EXPECT_EQ(bi->succ_edge[40], EdgeKind::kCaseFallThrough);
 }
 
@@ -5170,7 +5170,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(40), 1);
+  EXPECT_EQ(bi->succ_edge.count(40), 1u);
   EXPECT_EQ(bi->succ_edge[40], EdgeKind::kCaseFallThrough);
 }
 
@@ -5201,7 +5201,7 @@
 
   auto* bi = fe.GetBlockInfo(30);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(40), 1);
+  EXPECT_EQ(bi->succ_edge.count(40), 1u);
   EXPECT_EQ(bi->succ_edge[40], EdgeKind::kCaseFallThrough);
 }
 
@@ -5316,7 +5316,7 @@
 
   auto* bi = fe.GetBlockInfo(10);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(20), 1);
+  EXPECT_EQ(bi->succ_edge.count(20), 1u);
   EXPECT_EQ(bi->succ_edge[20], EdgeKind::kForward);
 }
 
@@ -5341,7 +5341,7 @@
 
   auto* bi = fe.GetBlockInfo(10);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(30), 1);
+  EXPECT_EQ(bi->succ_edge.count(30), 1u);
   EXPECT_EQ(bi->succ_edge[30], EdgeKind::kForward);
 }
 
@@ -5366,7 +5366,7 @@
 
   auto* bi = fe.GetBlockInfo(10);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(20), 1);
+  EXPECT_EQ(bi->succ_edge.count(20), 1u);
   EXPECT_EQ(bi->succ_edge[20], EdgeKind::kForward);
 }
 
@@ -5394,7 +5394,7 @@
 
   auto* bi = fe.GetBlockInfo(10);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(30), 1);
+  EXPECT_EQ(bi->succ_edge.count(30), 1u);
   EXPECT_EQ(bi->succ_edge[30], EdgeKind::kForward);
 }
 
@@ -5425,7 +5425,7 @@
 
   auto* bi = fe.GetBlockInfo(20);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(30), 1);
+  EXPECT_EQ(bi->succ_edge.count(30), 1u);
   EXPECT_EQ(bi->succ_edge[30], EdgeKind::kForward);
 }
 
@@ -5713,9 +5713,9 @@
 
   auto* bi = fe.GetBlockInfo(20);
   ASSERT_NE(bi, nullptr);
-  EXPECT_EQ(bi->succ_edge.count(30), 1);
+  EXPECT_EQ(bi->succ_edge.count(30), 1u);
   EXPECT_EQ(bi->succ_edge[30], EdgeKind::kForward);
-  EXPECT_EQ(bi->succ_edge.count(50), 1);
+  EXPECT_EQ(bi->succ_edge.count(50), 1u);
   EXPECT_EQ(bi->succ_edge[50], EdgeKind::kForward);
 }
 
@@ -5750,22 +5750,22 @@
 
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
-  EXPECT_EQ(bi20->succ_edge.count(50), 1);
+  EXPECT_EQ(bi20->succ_edge.count(50), 1u);
   EXPECT_EQ(bi20->succ_edge[50], EdgeKind::kForward);
 
   auto* bi30 = fe.GetBlockInfo(30);
   ASSERT_NE(bi30, nullptr);
-  EXPECT_EQ(bi30->succ_edge.count(50), 1);
+  EXPECT_EQ(bi30->succ_edge.count(50), 1u);
   EXPECT_EQ(bi30->succ_edge[50], EdgeKind::kForward);
 
   auto* bi50 = fe.GetBlockInfo(50);
   ASSERT_NE(bi50, nullptr);
-  EXPECT_EQ(bi50->succ_edge.count(60), 1);
+  EXPECT_EQ(bi50->succ_edge.count(60), 1u);
   EXPECT_EQ(bi50->succ_edge[60], EdgeKind::kForward);
 
   auto* bi60 = fe.GetBlockInfo(60);
   ASSERT_NE(bi60, nullptr);
-  EXPECT_EQ(bi60->succ_edge.count(99), 1);
+  EXPECT_EQ(bi60->succ_edge.count(99), 1u);
   EXPECT_EQ(bi60->succ_edge[99], EdgeKind::kToMerge);
 }
 
@@ -5791,12 +5791,12 @@
 
   auto* bi10 = fe.GetBlockInfo(10);
   ASSERT_NE(bi10, nullptr);
-  EXPECT_EQ(bi10->succ_edge.count(20), 1);
+  EXPECT_EQ(bi10->succ_edge.count(20), 1u);
   EXPECT_EQ(bi10->succ_edge[20], EdgeKind::kForward);
 
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
-  EXPECT_EQ(bi20->succ_edge.count(99), 1);
+  EXPECT_EQ(bi20->succ_edge.count(99), 1u);
   EXPECT_EQ(bi20->succ_edge[99], EdgeKind::kToMerge);
 }
 
diff --git a/src/reader/spirv/function_logical_test.cc b/src/reader/spirv/function_logical_test.cc
index bf480b0..040a599 100644
--- a/src/reader/spirv/function_logical_test.cc
+++ b/src/reader/spirv/function_logical_test.cc
@@ -229,7 +229,7 @@
      OpReturn
      OpFunctionEnd
   )";
-  auto p = parser(test::Assemble(assembly));
+  auto* p = parser(test::Assemble(assembly));
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index 43e2172..e8f0534 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -126,6 +126,10 @@
 
 }  // namespace
 
+Builder::AccessorInfo::AccessorInfo() : source_id(0), source_type(nullptr) {}
+
+Builder::AccessorInfo::~AccessorInfo() {}
+
 Builder::Builder(ast::Module* mod) : mod_(mod), scope_stack_({}) {}
 
 Builder::~Builder() = default;
diff --git a/src/writer/spirv/builder.h b/src/writer/spirv/builder.h
index 823dcd9..2754b7f 100644
--- a/src/writer/spirv/builder.h
+++ b/src/writer/spirv/builder.h
@@ -40,15 +40,18 @@
  public:
   /// Contains information for generating accessor chains
   struct AccessorInfo {
+    AccessorInfo();
+    ~AccessorInfo();
+
     /// The ID of the current chain source. The chain source may change as we
     /// evaluate the access chain. The chain source always points to the ID
     /// which we will use to evaluate the current set of accessors. This maybe
     /// the original variable, or maybe an intermediary if we had to evaulate
     /// the access chain early (in the case of a swizzle of an access chain).
-    uint32_t source_id = 0;
+    uint32_t source_id;
     /// The type of the current chain source. This type matches the deduced
     /// result_type of the current source defined above.
-    ast::type::Type* source_type = nullptr;
+    ast::type::Type* source_type;
     /// A list of access chain indices to emit. Note, we _only_ have access
     /// chain indices if the source is pointer.
     std::vector<uint32_t> access_chain_indices;