/* PR tree-optimization/46309 */ extern void abort (void); unsigned int *q; __attribute__((noinline, noclone)) void bar (unsigned int *p) { if (*p != 2 && *p != 3) (!(!(*q & 263) || *p != 1)) ? abort () : 0; } int main () { unsigned int x, y; asm volatile ("" : : : "memory"); x = 2; bar (&x); x = 3; bar (&x); y = 1; x = 0; q = &y; bar (&x); y = 0; x = 1; bar (&x); return 0; }