On 2022-08-18 17:19:07+0200, Jan Engelhardt via tz <tz@iana.org> wrote:
Due to an update of the Coverity Scan analyzer itself, it has identified a new issue in timezone code. In version 2022c (the excerpt is copypasted from an own project, so line numbers don't mean much), it has flagged:
[...]
1769 if (!TYPE_SIGNED(time_t) && y < TM_YEAR_BASE) { CID 1491244 (#1 of 1): Use of 32-bit time_t (Y2K38_SAFETY) 1. store_truncates_time_t: A time_t value is stored in an integer with too few bits to accommodate it. The expression y is cast to int. 1770 int signed_y = y; ^^^^^^^^^^^^ On e.g. x86_64-linux-gnu, time_t is 64 bits (signed) wide, and while the specific code path is not executed on that particular platform, the warning about a truncation to a 32-bit signed int seems justified.
IIUC, CFLAGS="-Dtime_tz=int64_t" is your friends. -- Danh