payload_generator: Cherrypick dist for LLVM roll
This is a cherrypick from an already merged upstream
change list.
The original description:
uniform_int_distribution<a> for types sizeof(a) < 2 are
not valid by the C++ standard. Newer versions of LLVM
(particularly spurred on by ChromeOS toolchain changes)
require at least std::uniform_int_distribution<uint16_t>.
This is a required change for rolling LLVM to r458507.
Originally Reviewed on:
https://android-review.googlesource.com/c/platform/system/update_engine/+/2087853
BUG=b:231351802
TEST=CQ
Change-Id: I51fafa00f85511694c215b5c4bc5f655a0f68c7e
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/3654717
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Jae Hoon Kim <kimjae@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
diff --git a/payload_generator/ab_generator_unittest.cc b/payload_generator/ab_generator_unittest.cc
index 84eeb77..e00e6bd 100644
--- a/payload_generator/ab_generator_unittest.cc
+++ b/payload_generator/ab_generator_unittest.cc
@@ -65,9 +65,9 @@
test_utils::FillWithData(&part_data);
} else {
std::mt19937 gen(12345);
- std::uniform_int_distribution<uint8_t> dis(0, 255);
+ std::uniform_int_distribution<uint16_t> dis(0, 255);
for (uint32_t i = 0; i < part_size; i++)
- part_data.push_back(dis(gen));
+ part_data.push_back(static_cast<uint8_t>(dis(gen)));
}
ASSERT_EQ(part_size, part_data.size());
ScopedTempFile part_file("SplitReplaceOrReplaceXzTest_part.XXXXXX");
@@ -213,9 +213,9 @@
test_utils::FillWithData(&part_data);
} else {
std::mt19937 gen(12345);
- std::uniform_int_distribution<uint8_t> dis(0, 255);
+ std::uniform_int_distribution<uint16_t> dis(0, 255);
for (uint32_t i = 0; i < part_size; i++)
- part_data.push_back(dis(gen));
+ part_data.push_back(static_cast<uint8_t>(dis(gen)));
}
ASSERT_EQ(part_size, part_data.size());
ScopedTempFile part_file("MergeReplaceOrReplaceXzTest_part.XXXXXX");
diff --git a/payload_generator/delta_diff_utils_unittest.cc b/payload_generator/delta_diff_utils_unittest.cc
index f2db1bd..8eb2987 100644
--- a/payload_generator/delta_diff_utils_unittest.cc
+++ b/payload_generator/delta_diff_utils_unittest.cc
@@ -195,9 +195,9 @@
// Make a blob with random data that won't compress well.
brillo::Blob random_data;
std::mt19937 gen(12345);
- std::uniform_int_distribution<uint8_t> dis(0, 255);
+ std::uniform_int_distribution<uint16_t> dis(0, 255);
for (uint32_t i = 0; i < kBlockSize; i++) {
- random_data.push_back(dis(gen));
+ random_data.push_back(static_cast<uint8_t>(dis(gen)));
}
for (int i = 0; i < 2; i++) {