[libc-commits] [libc] [libc][test][stdbit] fix -Wimplicit-int-conversion (PR #126616)
Nick Desaulniers via libc-commits
libc-commits at lists.llvm.org
Mon Feb 10 14:45:49 PST 2025
https://github.com/nickdesaulniers updated https://github.com/llvm/llvm-project/pull/126616
>From 128a92d12c19953ee0bfd9259dd867ad65783743 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers at google.com>
Date: Mon, 10 Feb 2025 14:40:52 -0800
Subject: [PATCH] [libc][test][stdbit] fix -Wimplicit-int-conversion
When cross compiling the libc-stdbit-tests, the existing tests trigger numerous
instances of -Wimplicit-int-conversion. The truncation of these implicit
promotions is intentional.
---
libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp | 11 +++++++----
libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp | 11 +++++++----
.../src/stdbit/stdc_first_leading_one_uc_test.cpp | 3 ++-
.../src/stdbit/stdc_first_leading_one_us_test.cpp | 3 ++-
.../src/stdbit/stdc_first_leading_zero_uc_test.cpp | 3 ++-
.../src/stdbit/stdc_first_leading_zero_us_test.cpp | 3 ++-
.../src/stdbit/stdc_first_trailing_one_uc_test.cpp | 4 +++-
.../src/stdbit/stdc_first_trailing_one_us_test.cpp | 4 +++-
.../src/stdbit/stdc_first_trailing_zero_uc_test.cpp | 4 +++-
.../src/stdbit/stdc_first_trailing_zero_us_test.cpp | 4 +++-
libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp | 4 +++-
libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp | 4 +++-
libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp | 3 ++-
libc/test/src/stdbit/stdc_leading_ones_us_test.cpp | 3 ++-
libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp | 3 ++-
libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp | 3 ++-
libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp | 4 +++-
libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp | 4 +++-
libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp | 4 +++-
libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp | 4 +++-
20 files changed, 60 insertions(+), 26 deletions(-)
diff --git a/libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp b/libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
index 1ef87b0d44de64e..6915859b7c6692d 100644
--- a/libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
@@ -17,18 +17,21 @@ TEST(LlvmLibcStdcBitceilUcTest, Zero) {
TEST(LlvmLibcStdcBitceilUcTest, Ones) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_uc(1U << i),
- static_cast<unsigned char>(1U << i));
+ EXPECT_EQ(
+ LIBC_NAMESPACE::stdc_bit_ceil_uc(static_cast<unsigned char>(1U << i)),
+ static_cast<unsigned char>(1U << i));
}
TEST(LlvmLibcStdcBitceilUcTest, OneLessThanPowsTwo) {
for (unsigned i = 2U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_uc((1U << i) - 1),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_uc(
+ static_cast<unsigned char>((1U << i) - 1)),
static_cast<unsigned char>(1U << i));
}
TEST(LlvmLibcStdcBitceilUcTest, OneMoreThanPowsTwo) {
for (unsigned i = 1U; i != UCHAR_WIDTH - 1; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_uc((1U << i) + 1),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_uc(
+ static_cast<unsigned char>((1U << i) + 1)),
static_cast<unsigned char>(1U << (i + 1)));
}
diff --git a/libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp b/libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
index 56873c51828f104..9a8b46f250f482a 100644
--- a/libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
@@ -17,18 +17,21 @@ TEST(LlvmLibcStdcBitceilUsTest, Zero) {
TEST(LlvmLibcStdcBitceilUsTest, Ones) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_us(1U << i),
- static_cast<unsigned short>(1U << i));
+ EXPECT_EQ(
+ LIBC_NAMESPACE::stdc_bit_ceil_us(static_cast<unsigned short>(1U << i)),
+ static_cast<unsigned short>(1U << i));
}
TEST(LlvmLibcStdcBitceilUsTest, OneLessThanPowsTwo) {
for (unsigned i = 2U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_us((1U << i) - 1),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_us(
+ static_cast<unsigned short>((1U << i) - 1)),
static_cast<unsigned short>(1U << i));
}
TEST(LlvmLibcStdcBitceilUsTest, OneMoreThanPowsTwo) {
for (unsigned i = 1U; i != USHRT_WIDTH - 1; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_us((1U << i) + 1),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_us(
+ static_cast<unsigned short>((1U << i) + 1)),
static_cast<unsigned short>(1U << (i + 1)));
}
diff --git a/libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp b/libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
index b8c8db587098e4c..2ab839701528862 100644
--- a/libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
@@ -16,6 +16,7 @@ TEST(LlvmLibcStdcFirstLeadingOneUcTest, Zero) {
TEST(LlvmLibcStdcFirstLeadingOneUcTest, OneHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_one_uc(1U << i),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_one_uc(
+ static_cast<unsigned char>(1U << i)),
UCHAR_WIDTH - i);
}
diff --git a/libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp b/libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
index e9488335d9b008c..de8127520542425 100644
--- a/libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
@@ -16,6 +16,7 @@ TEST(LlvmLibcStdcFirstLeadingOneUsTest, Zero) {
TEST(LlvmLibcStdcFirstLeadingOneUsTest, OneHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_one_us(1U << i),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_one_us(
+ static_cast<unsigned short>(1U << i)),
USHRT_WIDTH - i);
}
diff --git a/libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp b/libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
index ac7e8c7d9e64be3..a19d0ab83a9bdba 100644
--- a/libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
@@ -16,6 +16,7 @@ TEST(LlvmLibcStdcFirstLeadingZeroUcTest, ALL) {
TEST(LlvmLibcStdcFirstLeadingZeroUcTest, ZeroHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_zero_uc(~(1U << i)),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_zero_uc(
+ static_cast<unsigned char>(~(1U << i))),
UCHAR_WIDTH - i);
}
diff --git a/libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp b/libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
index 37f8612675a7a13..2971267f82a6f87 100644
--- a/libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
@@ -16,6 +16,7 @@ TEST(LlvmLibcStdcFirstLeadingZeroUsTest, ALL) {
TEST(LlvmLibcStdcFirstLeadingZeroUsTest, ZeroHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_zero_us(~(1U << i)),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_leading_zero_us(
+ static_cast<unsigned short>(~(1U << i))),
USHRT_WIDTH - i);
}
diff --git a/libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp b/libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
index ed2b4921cdada45..5ca4cfca1b47971 100644
--- a/libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
@@ -16,5 +16,7 @@ TEST(LlvmLibcStdcFirstTrailingOneUcTest, ALL) {
TEST(LlvmLibcStdcFirstTrailingOneUcTest, OneHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_one_uc(1U << i), i + 1);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_one_uc(
+ static_cast<unsigned char>(1U << i)),
+ i + 1);
}
diff --git a/libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp b/libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
index 60021552310bee6..46c69acfb7f073b 100644
--- a/libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
@@ -16,5 +16,7 @@ TEST(LlvmLibcStdcFirstTrailingOneUsTest, ALL) {
TEST(LlvmLibcStdcFirstTrailingOneUsTest, OneHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_one_us(1U << i), i + 1);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_one_us(
+ static_cast<unsigned short>(1U << i)),
+ i + 1);
}
diff --git a/libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp b/libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
index 2b17aa6536e6692..9535ad9ffa3a289 100644
--- a/libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
@@ -16,5 +16,7 @@ TEST(LlvmLibcStdcFirstTrailingZeroUcTest, ALL) {
TEST(LlvmLibcStdcFirstTrailingZeroUcTest, ZeroHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_zero_uc(~(1U << i)), i + 1);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_zero_uc(
+ static_cast<unsigned char>(~(1U << i))),
+ i + 1);
}
diff --git a/libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp b/libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
index e370379300e4a48..e0dc34fd89996bb 100644
--- a/libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
@@ -16,5 +16,7 @@ TEST(LlvmLibcStdcFirstTrailingZeroUsTest, ALL) {
TEST(LlvmLibcStdcFirstTrailingZeroUsTest, ZeroHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_zero_us(~(1U << i)), i + 1);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_first_trailing_zero_us(
+ static_cast<unsigned short>(~(1U << i))),
+ i + 1);
}
diff --git a/libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp b/libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
index 1bc189cf0b665fd..9dd2bdc12479d71 100644
--- a/libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
@@ -16,5 +16,7 @@ TEST(LlvmLibcStdcHasSingleBitUcTest, Zero) {
TEST(LlvmLibcStdcHasSingleBitUcTest, OneHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_has_single_bit_uc(1U << i), true);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_has_single_bit_uc(
+ static_cast<unsigned char>(1U << i)),
+ true);
}
diff --git a/libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp b/libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
index a038f6fac012323..3ff0b83751ebfeb 100644
--- a/libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
@@ -16,5 +16,7 @@ TEST(LlvmLibcStdcHasSingleBitUsTest, Zero) {
TEST(LlvmLibcStdcHasSingleBitUsTest, OneHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_has_single_bit_us(1U << i), true);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_has_single_bit_us(
+ static_cast<unsigned short>(1U << i)),
+ true);
}
diff --git a/libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp b/libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp
index 5d32d92e327a395..4ba240fdafad493 100644
--- a/libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp
@@ -17,6 +17,7 @@ TEST(LlvmLibcStdcLeadingOnesUcTest, All) {
TEST(LlvmLibcStdcLeadingOnesUcTest, ZeroHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_ones_uc(~(1U << i)),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_ones_uc(
+ static_cast<unsigned char>(~(1U << i))),
UCHAR_WIDTH - i - 1U);
}
diff --git a/libc/test/src/stdbit/stdc_leading_ones_us_test.cpp b/libc/test/src/stdbit/stdc_leading_ones_us_test.cpp
index 91a125370ec1584..0f93eed9e10b83e 100644
--- a/libc/test/src/stdbit/stdc_leading_ones_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_leading_ones_us_test.cpp
@@ -17,6 +17,7 @@ TEST(LlvmLibcStdcLeadingOnesUsTest, All) {
TEST(LlvmLibcStdcLeadingOnesUsTest, ZeroHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_ones_us(~(1U << i)),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_ones_us(
+ static_cast<unsigned short>(~(1U << i))),
USHRT_WIDTH - i - 1U);
}
diff --git a/libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp b/libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
index 3d555072927acdd..42f78c296fe09cd 100644
--- a/libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
@@ -17,6 +17,7 @@ TEST(LlvmLibcStdcLeadingZerosUcTest, Zero) {
TEST(LlvmLibcStdcLeadingZerosUcTest, OneHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_zeros_uc(1U << i),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_zeros_uc(
+ static_cast<unsigned char>(1U << i)),
UCHAR_WIDTH - i - 1U);
}
diff --git a/libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp b/libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
index afb418a24ad5423..967ceb13ff1d71d 100644
--- a/libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
@@ -17,6 +17,7 @@ TEST(LlvmLibcStdcLeadingZerosUsTest, Zero) {
TEST(LlvmLibcStdcLeadingZerosUsTest, OneHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_zeros_us(1U << i),
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_leading_zeros_us(
+ static_cast<unsigned short>(1U << i)),
USHRT_WIDTH - i - 1U);
}
diff --git a/libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp b/libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
index 79d4e5b8b8032da..00364085133883c 100644
--- a/libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
@@ -17,5 +17,7 @@ TEST(LlvmLibcStdcTrailingOnesUcTest, ALL) {
TEST(LlvmLibcStdcTrailingOnesUcTest, ZeroHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_ones_uc(~(1U << i)), i);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_ones_uc(
+ static_cast<unsigned char>(~(1U << i))),
+ i);
}
diff --git a/libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp b/libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
index 7ab15743ed1e043..5ebacc829c543ab 100644
--- a/libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
@@ -17,5 +17,7 @@ TEST(LlvmLibcStdcTrailingOnesUsTest, ALL) {
TEST(LlvmLibcStdcTrailingOnesUsTest, ZeroHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_ones_us(~(1U << i)), i);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_ones_us(
+ static_cast<unsigned short>(~(1U << i))),
+ i);
}
diff --git a/libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp b/libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
index c02b518865d9f77..129ab38c45ea8b5 100644
--- a/libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
+++ b/libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
@@ -17,5 +17,7 @@ TEST(LlvmLibcStdcTrailingZerosUcTest, Zero) {
TEST(LlvmLibcStdcTrailingZerosUcTest, OneHot) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_zeros_uc(1U << i), i);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_zeros_uc(
+ static_cast<unsigned char>(1U << i)),
+ i);
}
diff --git a/libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp b/libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp
index a9f8327dfd91409..e1171f24ccfda7f 100644
--- a/libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp
+++ b/libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp
@@ -17,5 +17,7 @@ TEST(LlvmLibcStdcTrailingZerosUsTest, Zero) {
TEST(LlvmLibcStdcTrailingZerosUsTest, OneHot) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_zeros_us(1U << i), i);
+ EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_zeros_us(
+ static_cast<unsigned short>(1U << i)),
+ i);
}
More information about the libc-commits
mailing list