https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104738
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- char having the same set of values as signed char is valid. char is not however a "signed integer type" within the meaning of the standard, and so is never a valid definition of int8_t, despite Solaris using that definition. https://gcc.gnu.org/legacy-ml/gcc/2009-04/msg00249.html