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

  • 64-bit integer types... Steffen Nurpmeso via austin-group-l at The Open Group
    • Re: 64-bit inte... Geoff Clare via austin-group-l at The Open Group

Reply via email to