[libc-commits] [libc] [libc] Fix implict cast to time_t warning (PR #126947)

via libc-commits libc-commits at lists.llvm.org
Wed Feb 12 09:37:20 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: Michael Jones (michaelrj-google)

<details>
<summary>Changes</summary>

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.


---
Full diff: https://github.com/llvm/llvm-project/pull/126947.diff


1 Files Affected:

- (modified) libc/src/time/time_utils.h (+3-1) 


``````````diff
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;

``````````

</details>


https://github.com/llvm/llvm-project/pull/126947


More information about the libc-commits mailing list