[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