Hello,

I am not sure how to make an account on the bug tracker. If it is
preferred that this is submitted there I am happy to do so. I just
need help with registration.

I am using the 202x Draft 4.1 (February 2024) PDF for references.

In the description of the endian.h header on Page 240, lines 8459 - 8461:


The <endian.h> header shall define the uint16_t, uint32_t, and uint64_t types 
as described in
<stdint.h>.
Inclusion of the <endian.h> header may also make visible all symbols from 
<stdint.h>.


It also appears that be64toh, htobe64, htole64, le64toh are required
to be defined as functions and macros.

I believe that this is an issue because uint64_t is not a required
type. In the documentation for stdint.h on page 370, lines 12947 -
12957:


The following types are required:

int8_t
int16_t
int32_t
uint8_t
uint16_t
uint32_t

If an implementation provides integer types with width 64 that meet these 
requirements,
then the following types are required:

int64_t
uint64_t


Perhaps the 64 bit byte order conversions should be made optional and
uint64_t is made available in endian.h if it is supported?

Thanks,
Collin

  • endian.h requires uin... Collin Funk via austin-group-l at The Open Group

Reply via email to