atomic_inc_dec: improve how inc/dec is recorded in the DB
[smatch.git] / validation / shift-undef-long.c
blob985fe4c4c595cf4aa39ca1d45f41cc9a3d41d4c6
1 static unsigned very_big_shift(unsigned int a)
3 unsigned r = 0;
4 r |= a << (0ULL ^ ~0U);
5 r |= a << ((( signed long long) ~0U) + 1);
6 r |= a << (((unsigned long long) ~0U) + 1);
7 r |= a << (~((unsigned long long) ~0U));
8 return r;
12 * check-name: shift-undef-long
13 * check-command: sparse -m64 $file
15 * check-error-start
16 shift-undef-long.c:4:25: warning: shift count is negative (-1)
17 shift-undef-long.c:5:47: warning: shift too big (4294967296) for type unsigned int
18 shift-undef-long.c:7:20: warning: shift count is negative (-4294967296)
19 * check-error-end