diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-20 14:04:56 +0300 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-20 15:25:03 +0300 |
commit | 46ba1675c457324b0eeef4670a09101ef3f34c50 (patch) | |
tree | 2789ab4cc09f02c12ceaff9f901543f73a93d204 | |
parent | e9f223877f42c31353bd8b522596cb5fe1b87388 (diff) |
ctype: Fix bitfield types on 16-bit targetsnewlib-snapshot-20180720
This prevents errors like this:
newlib/libc/ctype/categories.c:6:3: error: width of 'first' exceeds its type
unsigned int first: 24;
^
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
-rw-r--r-- | newlib/libc/ctype/categories.c | 5 | ||||
-rw-r--r-- | newlib/libc/ctype/towctrans_l.c | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/newlib/libc/ctype/categories.c b/newlib/libc/ctype/categories.c index c237324ec..85328ef2e 100644 --- a/newlib/libc/ctype/categories.c +++ b/newlib/libc/ctype/categories.c @@ -1,10 +1,11 @@ #include <wctype.h> +#include <stdint.h> #include "categories.h" struct _category { enum category cat: 8; - unsigned int first: 24; - unsigned short delta; + uint_least32_t first: 24; + uint_least16_t delta; } __attribute__((packed)); static const struct _category categories[] = { diff --git a/newlib/libc/ctype/towctrans_l.c b/newlib/libc/ctype/towctrans_l.c index 9759cf7bc..42085ac78 100644 --- a/newlib/libc/ctype/towctrans_l.c +++ b/newlib/libc/ctype/towctrans_l.c @@ -1,6 +1,7 @@ /* Modified (m) 2017 Thomas Wolff: revise Unicode and locale/wchar handling */ #include <_ansi.h> #include <wctype.h> +#include <stdint.h> //#include <errno.h> #include "local.h" @@ -35,10 +36,10 @@ enum {TO1, TOLO, TOUP, TOBOTH}; enum {EVENCAP, ODDCAP}; static struct caseconv_entry { - unsigned int first: 21; - unsigned short diff: 8; - unsigned char mode: 2; - int delta: 17; + uint_least32_t first: 21; + uint_least8_t diff: 8; + uint_least8_t mode: 2; + uint_least32_t delta: 17; } __attribute__ ((packed)) caseconv_table [] = { #include "caseconv.t" |