Steffen Nurpmeso wrote, on 22 Jan 2024: > > I just read Paul Eggert on the IANA TZ list saying that POSIX does > not require 64-bit integer times,
That is true for the current standard, but Issue 8 will require that time_t has a width of at least 64 bits. (It is already required to be an integer type.) This change came in through https://austingroupbugs.net/view.php?id=1462 > and when i look into that i see > (for stdint.h): > > 12961 If an implementation provides integer types with width 64 > that meet these requirements, > 12962 then the following types are required: > 12963 int64_t > 12964 uint64_t These types are optional because they are exactly 64 bits, and therefore depend on the programming environment supporting those exact types; the int_least64_t and uint_least64_t types are required. > But from a quick search this is the only such optional occurrence. > The standard imposes the presence of the typedefs at other places, > for example endian.h, with words like "For each of the sizes 16, > 32 and 64,", which rather implies 64-bit being non-optional. > > Shall i open an issue, or what is to be done. There does seem to be a conflict between <endian.h> and <stdint.h>: The <endian.h> header shall define the uint16_t, uint32_t, and uint64_t types as described in <stdint.h>. This presupposes that uint64_t is always defined in <stdint.h>, whereas actually its definition there is conditional. -- Geoff Clare <g.cl...@opengroup.org> The Open Group, Apex Plaza, Forbury Road, Reading, RG1 1AX, England