Snap for 9510537 from f0481dc0ccfeb001d0e2d62259ca23923654ead2 to udc-d1-release

Change-Id: I072108b2c262c5987f9dacb7c66107a529ed8ec0
diff --git a/Android.bp b/Android.bp
index 75fe1fd..c2324fb 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,3 +1,19 @@
+package {
+    default_applicable_licenses: ["test_dittosuite_license"],
+}
+
+// See: http://go/android-license-faq
+license {
+    name: "test_dittosuite_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+    ],
+    license_text: [
+        "LICENSE",
+    ],
+}
+
 cc_defaults {
     name: "dittobench_defaults",
     local_include_dirs: [
@@ -11,6 +27,7 @@
       "-Wall",
       "-Werror",
       "-Wextra",
+      "-Wsign-compare",
     ],
     tidy: true,
     /*
diff --git a/dittotrace.cpp b/dittotrace.cpp
index 98a0e31..47a1bc2 100644
--- a/dittotrace.cpp
+++ b/dittotrace.cpp
@@ -89,7 +89,7 @@
   std::map<int, std::vector<Syscall>> processed_syscalls_by_pid;
 
   for (const auto& [pid, lines] : lines_by_pid) {
-    for (unsigned int i = 0; i < lines.size(); ++i) {
+    for (std::size_t i = 0; i < lines.size(); ++i) {
       auto line = lines[i];
 
       // If only the resumed part of the syscall was found, ignore it
diff --git a/schema/Android.bp b/schema/Android.bp
index 63f6c70..c18bbe6 100644
--- a/schema/Android.bp
+++ b/schema/Android.bp
@@ -1,3 +1,8 @@
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: ["test_dittosuite_license"],
+}
+
 cc_library_static {
     name: "dittosuite-proto",
 
diff --git a/src/instruction_set.cpp b/src/instruction_set.cpp
index aeb14ab..1da105c 100644
--- a/src/instruction_set.cpp
+++ b/src/instruction_set.cpp
@@ -66,7 +66,7 @@
     std::visit(overloaded{[&](const std::vector<std::string>& list) {
                             std::uniform_int_distribution<> uniform_distribution(0,
                                                                                  list.size() - 1);
-                            for (unsigned int i = 0; i < list.size(); ++i) {
+                            for (std::size_t i = 0; i < list.size(); ++i) {
                               switch (access_order_) {
                                 case Order::kSequential: {
                                   SharedVariables::Set(item_key_, list[i]);
@@ -115,7 +115,7 @@
       duration.resize(samples.size() / repeat);
     }
 
-    for (unsigned int i = 0; i < samples.size() / repeat; ++i) {
+    for (std::size_t i = 0; i < samples.size() / repeat; ++i) {
       for (int j = 0; j < repeat; ++j) {
         duration[i] += samples[i * repeat + j];
       }
diff --git a/src/multithreading.cpp b/src/multithreading.cpp
index 0ec8875..ed8dcf7 100644
--- a/src/multithreading.cpp
+++ b/src/multithreading.cpp
@@ -52,7 +52,7 @@
 std::unique_ptr<Result> Multithreading::CollectResults(const std::string& prefix) {
   auto result = std::make_unique<Result>(prefix + name_, repeat_);
   result->AddMeasurement("duration", TimespecToDoubleNanos(time_sampler_.GetSamples()));
-  for (unsigned int i = 0; i < instructions_.size(); ++i) {
+  for (std::size_t i = 0; i < instructions_.size(); ++i) {
     result->AddSubResult(instructions_[i]->CollectResults(std::to_string(i) + "/"));
   }
   return result;
diff --git a/src/parser.cpp b/src/parser.cpp
index 98f1db9..f0e98ec 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -50,7 +50,7 @@
   std::string file_contents((std::istreambuf_iterator<char>(file)),
                             (std::istreambuf_iterator<char>()));
 
-  for (unsigned int i = 0; i < parameters.size(); i++) {
+  for (std::size_t i = 0; i < parameters.size(); i++) {
     std::string to_replace("$PARAMETER_" + std::to_string(i + 1) + "$");
     auto position = file_contents.find(to_replace);
     if (position == std::string::npos) {
diff --git a/src/result.cpp b/src/result.cpp
index 702de49..e154700 100644
--- a/src/result.cpp
+++ b/src/result.cpp
@@ -194,7 +194,7 @@
 void Result::MakeHistogramFromVector(const std::vector<int>& freq_vector, const int min_value) {
   int sum = 0;
   int max_frequency = *std::max_element(freq_vector.begin(), freq_vector.end());
-  for (unsigned int i = 0; i < freq_vector.size(); i++) {
+  for (std::size_t i = 0; i < freq_vector.size(); i++) {
     std::cout.width(kSampleDisplayWidth);
     std::cout << min_value + bin_size * i << kTableDivider;
 
diff --git a/src/shared_variables.cpp b/src/shared_variables.cpp
index 5080d6a..b27c2b6 100644
--- a/src/shared_variables.cpp
+++ b/src/shared_variables.cpp
@@ -36,7 +36,7 @@
   }
 
   // If the key does not exist, create it for the current thread
-  int key = variables_.size();
+  std::size_t key = variables_.size();
   keys_[thread_ids.back()].insert({variable_name, key});
   variables_.resize(variables_.size() + 1);
   return key;
diff --git a/test/timespec_utils_test.cpp b/test/timespec_utils_test.cpp
index c870cf8..8805b20 100644
--- a/test/timespec_utils_test.cpp
+++ b/test/timespec_utils_test.cpp
@@ -26,13 +26,13 @@
                                1999999999, 2000000002, 2000000003, 3000000001};
 
 TEST(TimespecUtilsTest, TimespecToNanos) {
-  for (unsigned int i = 0; i < tss.size(); ++i) {
+  for (std::size_t i = 0; i < tss.size(); ++i) {
     ASSERT_EQ(TimespecToNanos(tss[i]), tss_ns[i]);
   }
 }
 
 TEST(TimespecUtilsTest, NanosToTimespec) {
-  for (unsigned int i = 0; i < tss.size(); ++i) {
+  for (std::size_t i = 0; i < tss.size(); ++i) {
     ASSERT_EQ(tss[i], NanosToTimespec(tss_ns[i]));
   }
 }