https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106114
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Another test (-O2): int printf(const char *, ...); int a, b = 1041281974; unsigned short c; int main() { int d, e = b; b = ~-~a; a = c = -~b; if (c < 65529) { printf("%d\n", d); e = 0; } if (b) d = a; if (((e > 1041281974) && d) || e < 1041281974) printf("%d\n", c); return 0; }