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

Sebastian Huber <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <1052015014.19701.1532113901828.JavaMail.zimbra@embedded-brains.de>
----- Am 20. Jul 2018 um 19:37 schrieb Hans-Bernhard Bröker [email protected]:

> 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.

The previous code used short for a bit-field, so this patch makes nothing worse in this respect and fixes a real world regression on 16-bit targets.

Do you know a C99+ compiler which has a problem with such a bit-field?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.