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