[libc-commits] [libc] 5d6c00c - [libc] Add -Werror for libc tests (#160413)
via libc-commits
libc-commits at lists.llvm.org
Wed Oct 22 11:32:25 PDT 2025
Author: Vinay Deshmukh
Date: 2025-10-22T14:32:21-04:00
New Revision: 5d6c00cd0f8f644106b976d65de56f9f4ffa1587
URL: https://github.com/llvm/llvm-project/commit/5d6c00cd0f8f644106b976d65de56f9f4ffa1587
DIFF: https://github.com/llvm/llvm-project/commit/5d6c00cd0f8f644106b976d65de56f9f4ffa1587.diff
LOG: [libc] Add -Werror for libc tests (#160413)
Relates to https://github.com/llvm/llvm-project/issues/119281
Note:
1) As this PR enables `-Werror` for `libc` tests, it's very likely some
downstream CI's may fail / start failing, so it's very likely this PR
may need to be reverted and re-applied.
P.S.
I do not have merge permissions, so I will need one of the reviews to
merge it for me. Thank you!
Added:
Modified:
libc/cmake/modules/LLVMLibCTestRules.cmake
libc/test/include/complex_test.cpp
libc/test/integration/src/pthread/pthread_barrier_test.cpp
libc/test/src/math/exhaustive/bfloat16_add_test.cpp
libc/test/src/math/exhaustive/bfloat16_div_test.cpp
libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
libc/test/src/signal/sigaltstack_test.cpp
libc/test/src/stdio/fileop_test.cpp
libc/test/src/stdio/fopen_test.cpp
libc/test/src/sys/socket/linux/send_recv_test.cpp
libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
libc/test/src/time/ctime_r_test.cpp
libc/test/src/time/mktime_test.cpp
Removed:
################################################################################
diff --git a/libc/cmake/modules/LLVMLibCTestRules.cmake b/libc/cmake/modules/LLVMLibCTestRules.cmake
index 933b81b9f1d46..53bba3e1ef201 100644
--- a/libc/cmake/modules/LLVMLibCTestRules.cmake
+++ b/libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -38,7 +38,7 @@ function(_get_common_test_compile_options output_var c_test flags)
list(APPEND compile_options "-Wextra")
# -DLIBC_WNO_ERROR=ON if you can't build cleanly with -Werror.
if(NOT LIBC_WNO_ERROR)
- # list(APPEND compile_options "-Werror")
+ list(APPEND compile_options "-Werror")
endif()
list(APPEND compile_options "-Wconversion")
# FIXME: convert to -Wsign-conversion
diff --git a/libc/test/include/complex_test.cpp b/libc/test/include/complex_test.cpp
index 6f900aa4fb674..70e8c1c3d9216 100644
--- a/libc/test/include/complex_test.cpp
+++ b/libc/test/include/complex_test.cpp
@@ -27,8 +27,8 @@ TEST(LlvmLibcComplexTest, CMPLXMacro) {
EXPECT_CFP_EQ(CMPLXL(1.0l, 0), 1.0l);
#ifdef LIBC_TYPES_HAS_CFLOAT16
- EXPECT_CFP_EQ(CMPLXF16(0, 1.0), I);
- EXPECT_CFP_EQ(CMPLXF16(1.0, 0), 1.0);
+ EXPECT_CFP_EQ(CMPLXF16(0, 1.0), static_cast<_Complex _Float16>(I));
+ EXPECT_CFP_EQ(CMPLXF16(1.0, 0), static_cast<_Complex _Float16>(1.0));
#endif // LIBC_TYPES_HAS_CFLOAT16
#ifdef LIBC_TYPES_HAS_CFLOAT128
diff --git a/libc/test/integration/src/pthread/pthread_barrier_test.cpp b/libc/test/integration/src/pthread/pthread_barrier_test.cpp
index c8e11047e1d80..3fef16522c425 100644
--- a/libc/test/integration/src/pthread/pthread_barrier_test.cpp
+++ b/libc/test/integration/src/pthread/pthread_barrier_test.cpp
@@ -26,7 +26,7 @@
pthread_barrier_t barrier;
LIBC_NAMESPACE::cpp::Atomic<int> counter;
-void *increment_counter_and_wait(void *args) {
+void *increment_counter_and_wait([[maybe_unused]] void *args) {
counter.fetch_add(1);
return reinterpret_cast<void *>(
LIBC_NAMESPACE::pthread_barrier_wait(&barrier));
@@ -102,7 +102,7 @@ void reused_barrier_test() {
LIBC_NAMESPACE::pthread_barrier_destroy(&barrier);
}
-void *barrier_wait(void *in) {
+void *barrier_wait([[maybe_unused]] void *in) {
return reinterpret_cast<void *>(
LIBC_NAMESPACE::pthread_barrier_wait(&barrier));
}
diff --git a/libc/test/src/math/exhaustive/bfloat16_add_test.cpp b/libc/test/src/math/exhaustive/bfloat16_add_test.cpp
index 3f4c77978a93d..20a66e27fa61b 100644
--- a/libc/test/src/math/exhaustive/bfloat16_add_test.cpp
+++ b/libc/test/src/math/exhaustive/bfloat16_add_test.cpp
@@ -23,8 +23,9 @@ struct Bfloat16AddChecker : public virtual LIBC_NAMESPACE::testing::Test {
using FPBits = LIBC_NAMESPACE::fputil::FPBits<bfloat16>;
using StorageType = typename FPBits::StorageType;
- uint64_t check(uint16_t x_start, uint16_t x_stop, uint16_t y_start,
- uint16_t y_stop, mpfr::RoundingMode rounding) {
+ uint64_t check(uint16_t x_start, uint16_t x_stop,
+ [[maybe_unused]] uint16_t y_start, uint16_t y_stop,
+ mpfr::RoundingMode rounding) {
mpfr::ForceRoundingMode r(rounding);
if (!r.success)
return true;
diff --git a/libc/test/src/math/exhaustive/bfloat16_div_test.cpp b/libc/test/src/math/exhaustive/bfloat16_div_test.cpp
index 2648d5f775af5..43e033108861e 100644
--- a/libc/test/src/math/exhaustive/bfloat16_div_test.cpp
+++ b/libc/test/src/math/exhaustive/bfloat16_div_test.cpp
@@ -23,8 +23,9 @@ struct Bfloat16DivChecker : public virtual LIBC_NAMESPACE::testing::Test {
using FPBits = LIBC_NAMESPACE::fputil::FPBits<bfloat16>;
using StorageType = typename FPBits::StorageType;
- uint64_t check(uint16_t x_start, uint16_t x_stop, uint16_t y_start,
- uint16_t y_stop, mpfr::RoundingMode rounding) {
+ uint64_t check(uint16_t x_start, uint16_t x_stop,
+ [[maybe_unused]] uint16_t y_start, uint16_t y_stop,
+ mpfr::RoundingMode rounding) {
mpfr::ForceRoundingMode r(rounding);
if (!r.success)
return true;
diff --git a/libc/test/src/math/exhaustive/bfloat16_mul_test.cpp b/libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
index 3cbbcb500a4fb..4fd9ccf440a9d 100644
--- a/libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
+++ b/libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
@@ -23,8 +23,9 @@ struct Bfloat16MulChecker : public virtual LIBC_NAMESPACE::testing::Test {
using FPBits = LIBC_NAMESPACE::fputil::FPBits<bfloat16>;
using StorageType = typename FPBits::StorageType;
- uint64_t check(uint16_t x_start, uint16_t x_stop, uint16_t y_start,
- uint16_t y_stop, mpfr::RoundingMode rounding) {
+ uint64_t check(uint16_t x_start, uint16_t x_stop,
+ [[maybe_unused]] uint16_t y_start, uint16_t y_stop,
+ mpfr::RoundingMode rounding) {
mpfr::ForceRoundingMode r(rounding);
if (!r.success)
return true;
diff --git a/libc/test/src/math/exhaustive/bfloat16_sub_test.cpp b/libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
index 11bc6f59dd294..350af52930744 100644
--- a/libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
+++ b/libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
@@ -23,8 +23,9 @@ struct Bfloat16SubChecker : public virtual LIBC_NAMESPACE::testing::Test {
using FPBits = LIBC_NAMESPACE::fputil::FPBits<bfloat16>;
using StorageType = typename FPBits::StorageType;
- uint64_t check(uint16_t x_start, uint16_t x_stop, uint16_t y_start,
- uint16_t y_stop, mpfr::RoundingMode rounding) {
+ uint64_t check(uint16_t x_start, uint16_t x_stop,
+ [[maybe_unused]] uint16_t y_start, uint16_t y_stop,
+ mpfr::RoundingMode rounding) {
mpfr::ForceRoundingMode r(rounding);
if (!r.success)
return true;
diff --git a/libc/test/src/signal/sigaltstack_test.cpp b/libc/test/src/signal/sigaltstack_test.cpp
index 8c252c47452df..43c679b23bb29 100644
--- a/libc/test/src/signal/sigaltstack_test.cpp
+++ b/libc/test/src/signal/sigaltstack_test.cpp
@@ -33,7 +33,7 @@ static void handler(int) {
// out or mapped to a register.
uint8_t var[LOCAL_VAR_SIZE];
for (int i = 0; i < LOCAL_VAR_SIZE; ++i)
- var[i] = i;
+ var[i] = static_cast<uint8_t>(i);
// Verify that array is completely on the alt_stack.
for (int i = 0; i < LOCAL_VAR_SIZE; ++i) {
if (!(uintptr_t(var + i) < uintptr_t(alt_stack + ALT_STACK_SIZE) &&
diff --git a/libc/test/src/stdio/fileop_test.cpp b/libc/test/src/stdio/fileop_test.cpp
index 02328042b92b3..1dc9b6522006d 100644
--- a/libc/test/src/stdio/fileop_test.cpp
+++ b/libc/test/src/stdio/fileop_test.cpp
@@ -101,7 +101,7 @@ TEST_F(LlvmLibcFILETest, SimpleFileOperations) {
// This is not a readable file.
ASSERT_THAT(LIBC_NAMESPACE::fread(data, 1, 1, file),
- returns(EQ(0)).with_errno(NE(0)));
+ returns(EQ(static_cast<size_t>(0))).with_errno(NE(0)));
ASSERT_EQ(0, LIBC_NAMESPACE::fclose(file));
@@ -175,7 +175,7 @@ TEST_F(LlvmLibcFILETest, FOpenFWriteSizeGreaterThanOne) {
// Trying to read more should fetch nothing.
ASSERT_THAT(
LIBC_NAMESPACE::fread(read_data, sizeof(MyStruct), WRITE_NMEMB, file),
- returns(EQ(0)).with_errno(EQ(0)));
+ returns(EQ(static_cast<size_t>(0))).with_errno(EQ(0)));
EXPECT_NE(LIBC_NAMESPACE::feof(file), 0);
EXPECT_EQ(LIBC_NAMESPACE::ferror(file), 0);
ASSERT_EQ(LIBC_NAMESPACE::fclose(file), 0);
diff --git a/libc/test/src/stdio/fopen_test.cpp b/libc/test/src/stdio/fopen_test.cpp
index 3f651f755e7f3..e427e496895e0 100644
--- a/libc/test/src/stdio/fopen_test.cpp
+++ b/libc/test/src/stdio/fopen_test.cpp
@@ -15,15 +15,14 @@
#include "test/UnitTest/Test.h"
TEST(LlvmLibcFOpenTest, PrintToFile) {
- int result;
FILE *file =
LIBC_NAMESPACE::fopen(APPEND_LIBC_TEST("testdata/test.txt"), "w");
ASSERT_FALSE(file == nullptr);
static constexpr char STRING[] = "A simple string written to a file\n";
- result = LIBC_NAMESPACE::fwrite(STRING, 1, sizeof(STRING) - 1, file);
- EXPECT_GE(result, 0);
+ size_t result = LIBC_NAMESPACE::fwrite(STRING, 1, sizeof(STRING) - 1, file);
+ EXPECT_GE(result, static_cast<size_t>(0));
ASSERT_EQ(0, LIBC_NAMESPACE::fclose(file));
diff --git a/libc/test/src/sys/socket/linux/send_recv_test.cpp b/libc/test/src/sys/socket/linux/send_recv_test.cpp
index 46f73a29d6f7a..5bfa4fb2ed572 100644
--- a/libc/test/src/sys/socket/linux/send_recv_test.cpp
+++ b/libc/test/src/sys/socket/linux/send_recv_test.cpp
@@ -50,13 +50,15 @@ TEST_F(LlvmLibcSendRecvTest, SendFails) {
const char TEST_MESSAGE[] = "connection terminated";
const size_t MESSAGE_LEN = sizeof(TEST_MESSAGE);
- ASSERT_THAT(LIBC_NAMESPACE::send(-1, TEST_MESSAGE, MESSAGE_LEN, 0),
- Fails(EBADF));
+ ASSERT_THAT(
+ static_cast<int>(LIBC_NAMESPACE::send(-1, TEST_MESSAGE, MESSAGE_LEN, 0)),
+ Fails(EBADF));
}
TEST_F(LlvmLibcSendRecvTest, RecvFails) {
char buffer[256];
- ASSERT_THAT(LIBC_NAMESPACE::recv(-1, buffer, sizeof(buffer), 0),
- Fails(EBADF));
+ ASSERT_THAT(
+ static_cast<int>(LIBC_NAMESPACE::recv(-1, buffer, sizeof(buffer), 0)),
+ Fails(EBADF));
}
diff --git a/libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp b/libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
index 7ed94b20c564a..31099650dd20b 100644
--- a/libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
+++ b/libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
@@ -45,8 +45,9 @@ TEST_F(LlvmLibcSendMsgRecvMsgTest, SucceedsWithSocketPair) {
send_message.msg_controllen = 0;
send_message.msg_flags = 0;
- ASSERT_THAT(LIBC_NAMESPACE::sendmsg(sockpair[0], &send_message, 0),
- Succeeds(static_cast<ssize_t>(MESSAGE_LEN)));
+ ASSERT_THAT(
+ static_cast<int>(LIBC_NAMESPACE::sendmsg(sockpair[0], &send_message, 0)),
+ Succeeds(static_cast<ssize_t>(MESSAGE_LEN)));
char buffer[256];
@@ -63,8 +64,9 @@ TEST_F(LlvmLibcSendMsgRecvMsgTest, SucceedsWithSocketPair) {
recv_message.msg_controllen = 0;
recv_message.msg_flags = 0;
- ASSERT_THAT(LIBC_NAMESPACE::recvmsg(sockpair[1], &recv_message, 0),
- Succeeds(static_cast<ssize_t>(MESSAGE_LEN)));
+ ASSERT_THAT(
+ static_cast<int>(LIBC_NAMESPACE::recvmsg(sockpair[1], &recv_message, 0)),
+ Succeeds(static_cast<ssize_t>(MESSAGE_LEN)));
ASSERT_STREQ(buffer, TEST_MESSAGE);
@@ -91,7 +93,8 @@ TEST_F(LlvmLibcSendMsgRecvMsgTest, SendFails) {
send_message.msg_controllen = 0;
send_message.msg_flags = 0;
- ASSERT_THAT(LIBC_NAMESPACE::sendmsg(-1, &send_message, 0), Fails(EBADF));
+ ASSERT_THAT(static_cast<int>(LIBC_NAMESPACE::sendmsg(-1, &send_message, 0)),
+ Fails(EBADF));
}
TEST_F(LlvmLibcSendMsgRecvMsgTest, RecvFails) {
@@ -110,5 +113,6 @@ TEST_F(LlvmLibcSendMsgRecvMsgTest, RecvFails) {
recv_message.msg_controllen = 0;
recv_message.msg_flags = 0;
- ASSERT_THAT(LIBC_NAMESPACE::recvmsg(-1, &recv_message, 0), Fails(EBADF));
+ ASSERT_THAT(static_cast<int>(LIBC_NAMESPACE::recvmsg(-1, &recv_message, 0)),
+ Fails(EBADF));
}
diff --git a/libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp b/libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
index 8377260252c37..c3f84266d464c 100644
--- a/libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
+++ b/libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
@@ -54,7 +54,7 @@ TEST_F(LlvmLibcSendToRecvFromTest, SendToFails) {
ASSERT_THAT(
LIBC_NAMESPACE::sendto(-1, TEST_MESSAGE, MESSAGE_LEN, 0, nullptr, 0),
- Fails(EBADF));
+ Fails(static_cast<ssize_t>(EBADF), static_cast<ssize_t>(-1)));
}
TEST_F(LlvmLibcSendToRecvFromTest, RecvFromFails) {
@@ -62,5 +62,5 @@ TEST_F(LlvmLibcSendToRecvFromTest, RecvFromFails) {
ASSERT_THAT(
LIBC_NAMESPACE::recvfrom(-1, buffer, sizeof(buffer), 0, nullptr, 0),
- Fails(EBADF));
+ Fails(static_cast<ssize_t>(EBADF), static_cast<ssize_t>(-1)));
}
diff --git a/libc/test/src/time/ctime_r_test.cpp b/libc/test/src/time/ctime_r_test.cpp
index ee06c706734fb..084db300bf2d6 100644
--- a/libc/test/src/time/ctime_r_test.cpp
+++ b/libc/test/src/time/ctime_r_test.cpp
@@ -23,7 +23,7 @@ TEST_F(LlvmLibcCtimeR, Nullptr) {
result = LIBC_NAMESPACE::ctime_r(nullptr, buffer);
ASSERT_STREQ(nullptr, result);
- time_t t;
+ time_t t = 2147483648; // invalid argument
result = LIBC_NAMESPACE::ctime_r(&t, nullptr);
ASSERT_STREQ(nullptr, result);
}
diff --git a/libc/test/src/time/mktime_test.cpp b/libc/test/src/time/mktime_test.cpp
index 1dfdd73de5440..1062fa45ef644 100644
--- a/libc/test/src/time/mktime_test.cpp
+++ b/libc/test/src/time/mktime_test.cpp
@@ -36,7 +36,8 @@ TEST(LlvmLibcMkTime, FailureSetsErrno) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Fails(EOVERFLOW));
}
TEST(LlvmLibcMkTime, InvalidSeconds) {
@@ -51,7 +52,8 @@ TEST(LlvmLibcMkTime, InvalidSeconds) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds(-1));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Succeeds(-1));
EXPECT_TM_EQ((tm{.tm_sec = 59,
.tm_min = 59,
.tm_hour = 23,
@@ -75,7 +77,8 @@ TEST(LlvmLibcMkTime, InvalidSeconds) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds(60));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Succeeds(60));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 1,
.tm_hour = 0,
@@ -101,7 +104,7 @@ TEST(LlvmLibcMkTime, InvalidMinutes) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(-LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 59,
@@ -126,7 +129,7 @@ TEST(LlvmLibcMkTime, InvalidMinutes) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(60 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -153,7 +156,7 @@ TEST(LlvmLibcMkTime, InvalidHours) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(-LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -179,7 +182,7 @@ TEST(LlvmLibcMkTime, InvalidHours) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(
- LIBC_NAMESPACE::mktime(&tm_data),
+ static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(24 * LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -205,7 +208,7 @@ TEST(LlvmLibcMkTime, InvalidYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(-LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR *
LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
@@ -234,7 +237,8 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Fails(EOVERFLOW));
}
{
@@ -248,7 +252,8 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Fails(EOVERFLOW));
}
{
@@ -262,7 +267,8 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Fails(EOVERFLOW));
}
{
@@ -276,7 +282,8 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Fails(EOVERFLOW));
}
{
@@ -290,7 +297,8 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Fails(EOVERFLOW));
}
{
@@ -304,7 +312,8 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Fails(EOVERFLOW));
}
}
@@ -321,7 +330,7 @@ TEST(LlvmLibcMkTime, InvalidMonths) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(
- LIBC_NAMESPACE::mktime(&tm_data),
+ static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(-32 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -347,7 +356,7 @@ TEST(LlvmLibcMkTime, InvalidMonths) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(
- LIBC_NAMESPACE::mktime(&tm_data),
+ static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR *
LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
@@ -375,7 +384,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(-1 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -400,7 +409,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(31 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -425,7 +434,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(59 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -451,7 +460,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(
- LIBC_NAMESPACE::mktime(&tm_data),
+ static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(((2 * LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR) +
60) *
LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
@@ -481,7 +490,8 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds(0x7FFFFFFF));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Succeeds(0x7FFFFFFF));
EXPECT_TM_EQ((tm{.tm_sec = 7,
.tm_min = 14,
.tm_hour = 3,
@@ -507,7 +517,8 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds(0x7FFFFFFF - 8));
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
+ Succeeds(0x7FFFFFFF - 8));
EXPECT_TM_EQ((tm{.tm_sec = 59,
.tm_min = 13,
.tm_hour = 3,
@@ -532,7 +543,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(0x7FFFFFFF - 8 -
14 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
EXPECT_TM_EQ((tm{.tm_sec = 59,
@@ -559,7 +570,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(0x7FFFFFFF - 8 -
14 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN -
3 * LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
@@ -587,7 +598,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
+ EXPECT_THAT(static_cast<int>(LIBC_NAMESPACE::mktime(&tm_data)),
Succeeds(0x7FFFFFFF - 8 -
14 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN -
3 * LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR -
More information about the libc-commits
mailing list