As Christian Schmidt wrote:

> Is it fair to conclude that the ~
> operator, applied to an unsigned char, does produce an int as output
> instead of the input type?

Yes, this is exactly what the C standard promotion rules require.

Well, to be exact, they *require* it behaves "as if" it were promoted
to "int", so if the sign extension has no net effect to the result, it
might be left out as well.  So in that sense, it might be considered a
"missed optimization" bug in GCC here, but it's probably always hard
to catch all those situations well were the integer promotion could be
bypassed.
-- 
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)

_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to