diff --git a/libc/test/src/stdio/sprintf_test.cpp b/libc/test/src/stdio/sprintf_test.cpp --- a/libc/test/src/stdio/sprintf_test.cpp +++ b/libc/test/src/stdio/sprintf_test.cpp @@ -122,13 +122,19 @@ EXPECT_EQ(written, 20); ASSERT_STREQ(buff, "18446744073709551615"); // ull max + written = __llvm_libc::sprintf(buff, "%u", ~0); + if (sizeof(int) == 4) { + EXPECT_EQ(written, 10); + ASSERT_STREQ(buff, "4294967295"); + } + written = __llvm_libc::sprintf(buff, "%tu", ~ptrdiff_t(0)); if (sizeof(ptrdiff_t) == 8) { EXPECT_EQ(written, 20); ASSERT_STREQ(buff, "18446744073709551615"); } else if (sizeof(ptrdiff_t) == 4) { EXPECT_EQ(written, 10); - ASSERT_STREQ(buff, "4294967296"); + ASSERT_STREQ(buff, "4294967295"); } written = __llvm_libc::sprintf(buff, "%lld", -9223372036854775807ll - 1ll);