1 #include <stdio.h>
2 #include <string.h>
3 #include "check_debug.h"
4 
5 long long l;
6 unsigned long long ul;
7 int i;
8 unsigned int ui;
9 signed char c;
10 unsigned char uc;
11 
main(void)12 int main(void)
13 {
14 	int idx;
15 
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;
28 
29 	__smatch_implied(l);
30 	__smatch_implied(ul);
31 	__smatch_implied(i);
32 	__smatch_implied(ui);
33 	__smatch_implied(c);
34 	__smatch_implied(uc);
35 
36 	return 0;
37 }
38 
39 
40 /*
41  * check-name: smatch: casts #4
42  * check-command: smatch -I.. sm_casts4.c
43  *
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
53  */
54