type: introduce get_final_type()
[smatch.git] / validation / sm_casts4.c
bloba1d6c1bd78c0081a7b68fdb77ccde8cd4a813d91
1 #include <stdio.h>
2 #include <string.h>
3 #include "check_debug.h"
5 long long l;
6 unsigned long long ul;
7 int i;
8 unsigned int ui;
9 signed char c;
10 unsigned char uc;
12 int main(void)
14 int idx;
16 if (c < -2)
17 return 1;
18 if (uc < -2)
19 return 1;
20 if (i < -2)
21 return 1;
22 if (ui < -2)
23 return 1;
24 if (l < -2)
25 return 1;
26 if (ul < -2)
27 return 1;
29 __smatch_implied(l);
30 __smatch_implied(ul);
31 __smatch_implied(i);
32 __smatch_implied(ui);
33 __smatch_implied(c);
34 __smatch_implied(uc);
36 return 0;
41 * check-name: smatch: casts #4
42 * check-command: smatch -I.. sm_casts4.c
44 * check-output-start
45 sm_casts4.c:18 main() warn: impossible condition '(uc < -2) => (0-255 < (-2))'
46 sm_casts4.c:29 main() implied: l = '(-2)-s64max'
47 sm_casts4.c:30 main() implied: ul = '18446744073709551614-u64max'
48 sm_casts4.c:31 main() implied: i = '(-2)-s32max'
49 sm_casts4.c:32 main() implied: ui = '4294967294-u32max'
50 sm_casts4.c:33 main() implied: c = '(-2)-127'
51 sm_casts4.c:34 main() implied: uc = ''
52 * check-output-end