fix for bug 21137 causes a regression: /* { dg-do run } */ void abort (void);
int main (void) { int k = -1; if (((unsigned int) k >> 3) & 134217728) return 0; abort (); } This bug is also known as miscompilation of emacs' keymap.c at -O0: http://lists.gnu.org/archive/html/emacs-devel/2006-09/msg00276.html -- Summary: [4.2/4.3 regression] invalid folding of ((X >> C1) & C2) != 0 or "M-x is undefined" in emacs Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: belyshev at depni dot sinp dot msu dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29726