| /* PR tree-optimization/47148 */ | |
| static inline unsigned | |
| bar (unsigned x, unsigned y) | |
| { | |
| if (y >= 32) | |
| return x; | |
| else | |
| return x >> y; | |
| } | |
| static unsigned a = 1, b = 1; | |
| static inline void | |
| foo (unsigned char x, unsigned y) | |
| { | |
| if (!y) | |
| return; | |
| unsigned c = (0x7000U / (x - 2)) ^ a; | |
| unsigned d = bar (a, a); | |
| b &= ((a - d) && (a - 1)) + c; | |
| } | |
| int | |
| main (void) | |
| { | |
| foo (1, 1); | |
| foo (-1, 1); | |
| if (b && ((unsigned char) -1) == 255) | |
| __builtin_abort (); | |
| return 0; | |
| } |