1 /* { dg-do run { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } */
2 /* { dg-options "-Os" } */
5 extern void abort (void);
8 lshifts (int val, int cnt)
15 static inline unsigned int
16 lshiftu (unsigned int val, unsigned int cnt)
18 if (cnt >= sizeof (unsigned int) * __CHAR_BIT__
19 || val > ((__INT_MAX__ * 2U) >> cnt))
25 rshifts (int val, unsigned int cnt)
27 if (val < 0 || cnt >= sizeof (int) * __CHAR_BIT__)
33 foo (unsigned int val)
35 return rshifts (1 + val, lshifts (lshiftu (val, val), 1));