1 /* PR tree-optimization/47148 */
2
3 static inline unsigned
bar(unsigned x,unsigned y)4 bar (unsigned x, unsigned y)
5 {
6 if (y >= 32)
7 return x;
8 else
9 return x >> y;
10 }
11
12 static unsigned a = 1, b = 1;
13
14 static inline void
foo(unsigned char x,unsigned y)15 foo (unsigned char x, unsigned y)
16 {
17 if (!y)
18 return;
19 unsigned c = (0x7000U / (x - 2)) ^ a;
20 unsigned d = bar (a, a);
21 b &= ((a - d) && (a - 1)) + c;
22 }
23
24 int
main(void)25 main (void)
26 {
27 foo (1, 1);
28 foo (-1, 1);
29 if (b && ((unsigned char) -1) == 255)
30 __builtin_abort ();
31 return 0;
32 }
33