When the predefine for char32_t was added, it was made to correspond 'unsigned int' with the commit message saying some archs use 'unsigned long'. In fact, it appears that there char32_t is always uint32_t (on the archs & OSes I'm using to look at this). Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib.c b/lib.c index 57d2738bf..f9e7caf4a 100644 --- a/lib.c +++ b/lib.c @@ -1418,7 +1418,7 @@ static void predefined_macros(void) predefined_ctype("WCHAR", wchar_ctype, PTYPE_ALL_T|PTYPE_MIN|PTYPE_TYPE); predefined_ctype("WINT", wint_ctype, PTYPE_ALL_T|PTYPE_MIN|PTYPE_TYPE); predefined_ctype("CHAR16", &ushort_ctype, PTYPE_TYPE); - predefined_ctype("CHAR32", &uint_ctype, PTYPE_TYPE); + predefined_ctype("CHAR32", uint32_ctype, PTYPE_TYPE); predefined_ctype("INT", &int_ctype, PTYPE_ALL); predefined_ctype("LONG", &long_ctype, PTYPE_ALL); -- 2.24.0