[libc-commits] [libc] [libc] Fix implicit conversion warning in mktime_test (PR #193504)
Jeff Bailey via libc-commits
libc-commits at lists.llvm.org
Wed Apr 22 06:47:47 PDT 2026
https://github.com/kaladron created https://github.com/llvm/llvm-project/pull/193504
Specified template argument time_t for Succeeds and Fails in mktime_test.cpp to avoid implicit conversion warnings when matching time_t results on 64-bit systems.
>From 3a23d655ac02802b9737a9b71ade78c0911504c1 Mon Sep 17 00:00:00 2001
From: Jeff Bailey <jbailey at raspberryginger.com>
Date: Wed, 22 Apr 2026 14:45:56 +0100
Subject: [PATCH] [libc] Fix implicit conversion warning in mktime_test
Specified template argument time_t for Succeeds and Fails in mktime_test.cpp to avoid implicit conversion warnings when matching time_t results on 64-bit systems.
---
libc/test/src/time/mktime_test.cpp | 44 +++++++++++++++---------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/libc/test/src/time/mktime_test.cpp b/libc/test/src/time/mktime_test.cpp
index 7623b011be809..df971cc1fe351 100644
--- a/libc/test/src/time/mktime_test.cpp
+++ b/libc/test/src/time/mktime_test.cpp
@@ -105,7 +105,7 @@ TEST(LlvmLibcMkTime, InvalidMinutes) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(-LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
+ Succeeds<time_t>(-LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 59,
.tm_hour = 23,
@@ -130,7 +130,7 @@ TEST(LlvmLibcMkTime, InvalidMinutes) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(60 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
+ Succeeds<time_t>(60 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
.tm_hour = 1,
@@ -157,7 +157,7 @@ TEST(LlvmLibcMkTime, InvalidHours) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(-LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
+ Succeeds<time_t>(-LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
.tm_hour = 23,
@@ -183,7 +183,7 @@ TEST(LlvmLibcMkTime, InvalidHours) {
.tm_isdst = 0};
EXPECT_THAT(
LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(24 * LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
+ Succeeds<time_t>(24 * LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
.tm_hour = 0,
@@ -209,7 +209,7 @@ TEST(LlvmLibcMkTime, InvalidYear) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(-LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR *
+ Succeeds<time_t>(-LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR *
LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -237,7 +237,7 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails<time_t>(EOVERFLOW));
}
{
@@ -251,7 +251,7 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails<time_t>(EOVERFLOW));
}
{
@@ -265,7 +265,7 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails<time_t>(EOVERFLOW));
}
{
@@ -279,7 +279,7 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails<time_t>(EOVERFLOW));
}
{
@@ -293,7 +293,7 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails<time_t>(EOVERFLOW));
}
{
@@ -307,7 +307,7 @@ TEST(LlvmLibcMkTime, InvalidEndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails(EOVERFLOW));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Fails<time_t>(EOVERFLOW));
}
}
@@ -325,7 +325,7 @@ TEST(LlvmLibcMkTime, InvalidMonths) {
.tm_isdst = 0};
EXPECT_THAT(
LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(-32 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
+ Succeeds<time_t>(-32 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
.tm_hour = 0,
@@ -351,7 +351,7 @@ TEST(LlvmLibcMkTime, InvalidMonths) {
.tm_isdst = 0};
EXPECT_THAT(
LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR *
+ Succeeds<time_t>(LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR *
LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
@@ -379,7 +379,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(-1 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
+ Succeeds<time_t>(-1 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
.tm_hour = 0,
@@ -404,7 +404,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(31 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
+ Succeeds<time_t>(31 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
.tm_hour = 0,
@@ -429,7 +429,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(59 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
+ Succeeds<time_t>(59 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
.tm_min = 0,
.tm_hour = 0,
@@ -455,7 +455,7 @@ TEST(LlvmLibcMkTime, InvalidDays) {
.tm_isdst = 0};
EXPECT_THAT(
LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(((2 * LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR) +
+ Succeeds<time_t>(((2 * LIBC_NAMESPACE::time_constants::DAYS_PER_NON_LEAP_YEAR) +
60) *
LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
EXPECT_TM_EQ((tm{.tm_sec = 0,
@@ -484,7 +484,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds(0x7FFFFFFF));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds<time_t>(0x7FFFFFFF));
EXPECT_TM_EQ((tm{.tm_sec = 7,
.tm_min = 14,
.tm_hour = 3,
@@ -510,7 +510,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_wday = 0,
.tm_yday = 0,
.tm_isdst = 0};
- EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds(0x7FFFFFFF - 8));
+ EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data), Succeeds<time_t>(0x7FFFFFFF - 8));
EXPECT_TM_EQ((tm{.tm_sec = 59,
.tm_min = 13,
.tm_hour = 3,
@@ -536,7 +536,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(0x7FFFFFFF - 8 -
+ Succeeds<time_t>(0x7FFFFFFF - 8 -
14 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN));
EXPECT_TM_EQ((tm{.tm_sec = 59,
.tm_min = 59,
@@ -563,7 +563,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(0x7FFFFFFF - 8 -
+ Succeeds<time_t>(0x7FFFFFFF - 8 -
14 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN -
3 * LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR));
EXPECT_TM_EQ((tm{.tm_sec = 59,
@@ -591,7 +591,7 @@ TEST(LlvmLibcMkTime, EndOf32BitEpochYear) {
.tm_yday = 0,
.tm_isdst = 0};
EXPECT_THAT(LIBC_NAMESPACE::mktime(&tm_data),
- Succeeds(0x7FFFFFFF - 8 -
+ Succeeds<time_t>(0x7FFFFFFF - 8 -
14 * LIBC_NAMESPACE::time_constants::SECONDS_PER_MIN -
3 * LIBC_NAMESPACE::time_constants::SECONDS_PER_HOUR -
18 * LIBC_NAMESPACE::time_constants::SECONDS_PER_DAY));
More information about the libc-commits
mailing list