diff --git a/src/reader/spirv/function_cfg_test.cc b/src/reader/spirv/function_cfg_test.cc
index 125cb73..7bf0906 100644
--- a/src/reader/spirv/function_cfg_test.cc
+++ b/src/reader/spirv/function_cfg_test.cc
@@ -6100,7 +6100,7 @@
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->true_head_for, nullptr);
-  EXPECT_EQ(bi20->true_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->true_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->false_head_for, nullptr);
   EXPECT_EQ(bi20->premerge_head_for, nullptr);
   EXPECT_EQ(bi20->exclusive_false_head_for, nullptr);
@@ -6109,7 +6109,7 @@
   ASSERT_NE(bi30, nullptr);
   EXPECT_EQ(bi30->true_head_for, nullptr);
   ASSERT_NE(bi30->false_head_for, nullptr);
-  EXPECT_EQ(bi30->false_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->false_head_for->begin_id, 10u);
   EXPECT_EQ(bi30->premerge_head_for, nullptr);
   EXPECT_EQ(bi30->exclusive_false_head_for, nullptr);
 }
@@ -6136,7 +6136,7 @@
   auto* bi30 = fe.GetBlockInfo(30);
   ASSERT_NE(bi30, nullptr);
   ASSERT_NE(bi30->true_head_for, nullptr);
-  EXPECT_EQ(bi30->true_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->true_head_for->begin_id, 10u);
   EXPECT_EQ(bi30->false_head_for, nullptr);
   EXPECT_EQ(bi30->premerge_head_for, nullptr);
   EXPECT_EQ(bi30->exclusive_false_head_for, nullptr);
@@ -6165,10 +6165,10 @@
   ASSERT_NE(bi30, nullptr);
   EXPECT_EQ(bi30->true_head_for, nullptr);
   ASSERT_NE(bi30->false_head_for, nullptr);
-  EXPECT_EQ(bi30->false_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->false_head_for->begin_id, 10u);
   EXPECT_EQ(bi30->premerge_head_for, nullptr);
   ASSERT_NE(bi30->exclusive_false_head_for, nullptr);
-  EXPECT_EQ(bi30->exclusive_false_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->exclusive_false_head_for->begin_id, 10u);
 }
 
 TEST_F(SpvParserTest, FindIfSelectionInternalHeaders_Regardless) {
@@ -6198,9 +6198,9 @@
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->true_head_for, nullptr);
-  EXPECT_EQ(bi20->true_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->true_head_for->begin_id, 10u);
   ASSERT_NE(bi20->false_head_for, nullptr);
-  EXPECT_EQ(bi20->false_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->false_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->premerge_head_for, nullptr);
   EXPECT_EQ(bi20->exclusive_false_head_for, nullptr);
 
@@ -6244,7 +6244,7 @@
   EXPECT_EQ(bi80->true_head_for, nullptr);
   EXPECT_EQ(bi80->false_head_for, nullptr);
   ASSERT_NE(bi80->premerge_head_for, nullptr);
-  EXPECT_EQ(bi80->premerge_head_for->begin_id, 10);
+  EXPECT_EQ(bi80->premerge_head_for->begin_id, 10u);
   EXPECT_EQ(bi80->exclusive_false_head_for, nullptr);
 }
 
@@ -6279,7 +6279,7 @@
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->true_head_for, nullptr);
-  EXPECT_EQ(bi20->true_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->true_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->false_head_for, nullptr);
   EXPECT_EQ(bi20->premerge_head_for, nullptr);
   EXPECT_EQ(bi20->exclusive_false_head_for, nullptr);
@@ -6288,9 +6288,9 @@
   ASSERT_NE(bi30, nullptr);
   EXPECT_EQ(bi30->true_head_for, nullptr);
   ASSERT_NE(bi30->false_head_for, nullptr);
-  EXPECT_EQ(bi30->false_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->false_head_for->begin_id, 10u);
   ASSERT_NE(bi30->premerge_head_for, nullptr);
-  EXPECT_EQ(bi30->premerge_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->premerge_head_for->begin_id, 10u);
   EXPECT_EQ(bi30->exclusive_false_head_for, nullptr);
 
   auto* bi80 = fe.GetBlockInfo(80);
@@ -6332,17 +6332,17 @@
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->true_head_for, nullptr);
-  EXPECT_EQ(bi20->true_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->true_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->false_head_for, nullptr);
   ASSERT_NE(bi20->premerge_head_for, nullptr);
-  EXPECT_EQ(bi20->premerge_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->premerge_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->exclusive_false_head_for, nullptr);
 
   auto* bi30 = fe.GetBlockInfo(30);
   ASSERT_NE(bi30, nullptr);
   EXPECT_EQ(bi30->true_head_for, nullptr);
   ASSERT_NE(bi30->false_head_for, nullptr);
-  EXPECT_EQ(bi30->false_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->false_head_for->begin_id, 10u);
   EXPECT_EQ(bi30->premerge_head_for, nullptr);
   EXPECT_EQ(bi30->exclusive_false_head_for, nullptr);
 
@@ -6422,7 +6422,7 @@
   auto* bi20 = fe.GetBlockInfo(20);
   ASSERT_NE(bi20, nullptr);
   ASSERT_NE(bi20->true_head_for, nullptr);
-  EXPECT_EQ(bi20->true_head_for->begin_id, 10);
+  EXPECT_EQ(bi20->true_head_for->begin_id, 10u);
   EXPECT_EQ(bi20->false_head_for, nullptr);
   EXPECT_EQ(bi20->premerge_head_for, nullptr);
   EXPECT_EQ(bi20->exclusive_false_head_for, nullptr);
@@ -6476,7 +6476,7 @@
   ASSERT_NE(bi30, nullptr);
   EXPECT_EQ(bi30->true_head_for, nullptr);
   ASSERT_NE(bi30->false_head_for, nullptr);
-  EXPECT_EQ(bi30->false_head_for->begin_id, 10);
+  EXPECT_EQ(bi30->false_head_for->begin_id, 10u);
   EXPECT_EQ(bi30->premerge_head_for, nullptr);
   EXPECT_EQ(bi30->exclusive_false_head_for, nullptr);
   EXPECT_EQ(bi30->succ_edge.count(80), 1u);
