This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Jul 27 09:37, Sebastian Huber wrote: > The commit 46ba1675c457324b0eeef4670a09101ef3f34c50 accidently changed a > bit-field from signed to unsigned. The caseconv_entry::delta must be a > signed integer, see also "newlib/libc/ctype/caseconv.t". > > Unfortunately, a standard GCC/Newlib build is done without > -Wsign-conversion. Using this warning option would have helped to avoid > this bug: > > caseconv.t:2:22: warning: unsigned conversion from 'int' to 'unsigned int:17' changes value from '-32' to '131040' [-Wsign-conversion] > {0x0061, 25, TOUP, -32}, > > Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> > --- > newlib/libc/ctype/towctrans_l.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/newlib/libc/ctype/towctrans_l.c b/newlib/libc/ctype/towctrans_l.c > index 42085ac78..7b8a23c9c 100644 > --- a/newlib/libc/ctype/towctrans_l.c > +++ b/newlib/libc/ctype/towctrans_l.c > @@ -39,7 +39,7 @@ static struct caseconv_entry { > uint_least32_t first: 21; > uint_least8_t diff: 8; > uint_least8_t mode: 2; > - uint_least32_t delta: 17; > + int_least32_t delta: 17; > } __attribute__ ((packed)) > caseconv_table [] = { > #include "caseconv.t" > -- > 2.13.7 Thanks, please apply series. Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |