[libc-commits] [libc] 16a5f7e - [libc] Fix implict cast to time_t warning (#126947)
via libc-commits
libc-commits at lists.llvm.org
Wed Feb 12 10:08:10 PST 2025
Author: Michael Jones
Date: 2025-02-12T10:08:06-08:00
New Revision: 16a5f7eb73f225544d29e613c84011f1e1ec53a4
URL: https://github.com/llvm/llvm-project/commit/16a5f7eb73f225544d29e613c84011f1e1ec53a4
DIFF: https://github.com/llvm/llvm-project/commit/16a5f7eb73f225544d29e613c84011f1e1ec53a4.diff
LOG: [libc] Fix implict cast to time_t warning (#126947)
On some systems time_t is 32 bit, causing build errors (with -Werror)
in get_epoch which attempts to implicitly convert an int64_t to a
time_t.
Fixes:
error: implicit conversion loses integer precision: 'int64_t' (aka 'long
long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
332 | return mktime_internal(timeptr);
| ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
Added:
Modified:
libc/src/time/time_utils.h
Removed:
################################################################################
diff --git a/libc/src/time/time_utils.h b/libc/src/time/time_utils.h
index 324e129f6f780..68eaac8c04f11 100644
--- a/libc/src/time/time_utils.h
+++ b/libc/src/time/time_utils.h
@@ -328,7 +328,9 @@ class TMReader final {
return BASE_YEAR + IS_NEXT_YEAR;
}
- LIBC_INLINE time_t get_epoch() const { return mktime_internal(timeptr); }
+ LIBC_INLINE time_t get_epoch() const {
+ return static_cast<time_t>(mktime_internal(timeptr));
+ }
// returns the timezone offset in microwave time:
// return (hours * 100) + minutes;
More information about the libc-commits
mailing list