[PATCH] ctype: Fix bitfield types on 16-bit targets

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Wed Jul 25 10:03:00 GMT 2018


On 2018-07-20 11:37, Hans-Bernhard Bröker wrote:
> Am 20.07.2018 um 13:07 schrieb Sebastian Huber:
>> -  unsigned int first: 24; -  unsigned short delta; +  uint_least32_t
>> first: 24; +  uint_least16_t delta;
> Unfortunately that makes the code's correctness implementation-defined,
> because it now depends on what the underlying implementation's take on
> the constraint C99 6.7.2.1p4 is:
>     A bit-field shall have a type that is a qualified or unqualified
>     version of _Bool, signed int, unsigned int, or some other   
>     implementation-defined type.
> i.e. compilers are not required to allow uint32_least_t in this place.

Old code breaks existing implementations; those implementations do support it:
if others have problems, another patch can fix that; please feel free to propose
a better patch.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada



More information about the Newlib mailing list