[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:09 PST 2025
https://github.com/nickdesaulniers created https://github.com/llvm/llvm-project/pull/126616
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.
>From 1107146bd1083b44c2d3b79b4fec1c770729ec50 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 | 6 +++---
libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp | 6 +++---
libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_leading_ones_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp | 2 +-
libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp | 2 +-
libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp | 2 +-
20 files changed, 24 insertions(+), 24 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..fcbb5c82af23a7f 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,18 @@ TEST(LlvmLibcStdcBitceilUcTest, Zero) {
TEST(LlvmLibcStdcBitceilUcTest, Ones) {
for (unsigned i = 0U; i != UCHAR_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_uc(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..495c1fd14d84993 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,18 @@ TEST(LlvmLibcStdcBitceilUsTest, Zero) {
TEST(LlvmLibcStdcBitceilUsTest, Ones) {
for (unsigned i = 0U; i != USHRT_WIDTH; ++i)
- EXPECT_EQ(LIBC_NAMESPACE::stdc_bit_ceil_us(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..59fbf8bd2912318 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,6 @@ 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..185fbcdb7d19223 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,6 @@ 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..d98bf7a3d13edac 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,6 @@ 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..74e44f5d179b7a5 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,6 @@ 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..630b444a46feea9 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,5 @@ 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..c112062ec78e721 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,5 @@ 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..1e50765ad9bdce4 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,5 @@ 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..67d30baa8805254 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,5 @@ 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..7f25c141a93b424 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,5 @@ 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..aeebeb29f48f6ac 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,5 @@ 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..7120f608972f4bc 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,6 @@ 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..123aa88f494222d 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,6 @@ 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..c89a37726472707 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,6 @@ 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..e2efc028baba0d2 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,6 @@ 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..43218e65a219a9d 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,5 @@ 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..d449d34158fb8b9 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,5 @@ 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..b808a8ff3ea7100 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,5 @@ 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..628364fc83acd38 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,5 @@ 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