void f1(unsigned char c1)
{
if (c1 == ~0x80)
;
}
Here, the test is always false. On the right hand side, 0x80 is
0x0080, and ~0x0080 becomes 0xFF7F. On the left hand side, c1 is
an 8-bit unsigned character, and, thus, cannot be larger than 255.
It also cannot be negative, thus the integral promoted value can
never have the top 8 bits set.