https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66110
--- Comment #11 from Andreas Schwab <sch...@linux-m68k.org> --- Since typedef does not create a new type the effect of uint8_t is exactly the same as the type it is defined from. Thus if uint8_t is defined from unsigned char then uint8_t is a character type.