https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89604

--- Comment #3 from christopher békési <christalization at gmail dot com> ---
(In reply to Andrew Pinski from comment #2)
> In C, plain char can either be signed or unsigned; this is unlike int.
> 
> Which of signed char or unsigned char has the same range, representation,
> and behavior as “plain” char (C90 6.1.2.5, C90 6.2.1.1, C99 and C11 6.2.5,
> C99 and C11 6.3.1.1).

Indeed, I had completely missed that, I assumed the char was conforming to the
same rules as the int when it comes to assuming its signed-ness.
Explicitly specifying 'signed char' did yield the expected result.

How come that it was decided to make the char on ARM unsigned whereas on x86
platforms it's signed by default?

Thanks for the input, I'm sorry if I wasted anyone's time on this.

Reply via email to