[libcxx-commits] [libcxx] 9bf6e3e - [libcxx] Make test case fmt specifiers more portable
Brian Cain via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Mar 1 12:08:29 PST 2022
Author: Brian Cain
Date: 2022-03-01T12:07:23-08:00
New Revision: 9bf6e3e97e3ec91241cfd29030e80baeb9465b2b
URL: https://github.com/llvm/llvm-project/commit/9bf6e3e97e3ec91241cfd29030e80baeb9465b2b
DIFF: https://github.com/llvm/llvm-project/commit/9bf6e3e97e3ec91241cfd29030e80baeb9465b2b.diff
LOG: [libcxx] Make test case fmt specifiers more portable
These printf()s fail to compile like so on hexagon:
.../tools/llvm-top/libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp:94:23: error: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Werror,-Wformat]
printf("%u ", elem);
~~ ^~~~
%lu
.../tools/llvm-top/libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp:569:56: error: format specifies type 'unsigned int' but the argument has type 'uint32_t' (aka 'unsigned long') [-Werror,-Wformat]
fprintf(stderr, "%s failed for 0x%08X\n", msg, bits);
~~~~ ^~~~
%08lX
.../tools/llvm-top/libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp:1096:43: error: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Werror,-Wformat]
printf("Randomized test cases: %u\n", PrefixesToTest * Fractions);
~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
%lu
Differential Revision: https://reviews.llvm.org/D120532
Added:
Modified:
libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp
Removed:
################################################################################
diff --git a/libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp b/libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp
index 6caf27ade7332..ed2bc16a4d455 100644
--- a/libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp
+++ b/libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp
@@ -91,7 +91,7 @@ void initialize_randomness(mt19937_64& mt64, const int argc, char** const argv)
puts("SEED DATA:");
for (const auto& elem : vec) {
- printf("%u ", elem);
+ printf("%zu ", static_cast<size_t>(elem));
}
printf("\n");
@@ -566,7 +566,7 @@ void all_integer_tests() {
void assert_message_bits(const bool b, const char* const msg, const uint32_t bits) {
if (!b) {
- fprintf(stderr, "%s failed for 0x%08X\n", msg, bits);
+ fprintf(stderr, "%s failed for 0x%08zX\n", msg, static_cast<size_t>(bits));
fprintf(stderr, "This is a randomized test.\n");
fprintf(stderr, "DO NOT IGNORE/RERUN THIS FAILURE.\n");
fprintf(stderr, "You must report it to the STL maintainers.\n");
@@ -1093,7 +1093,7 @@ int main(int argc, char** argv) {
const long long ms = chrono::duration_cast<chrono::milliseconds>(finish - start).count();
puts("PASS");
- printf("Randomized test cases: %u\n", PrefixesToTest * Fractions);
+ printf("Randomized test cases: %zu\n", static_cast<size_t>(PrefixesToTest * Fractions));
printf("Total time: %lld ms\n", ms);
if (ms < 3'000) {
More information about the libcxx-commits
mailing list