xref: /illumos-gate/usr/src/tools/smatch/src/validation/optim/kill-casts.c (revision 74e12c43fe52f2c30f36e65a4d0fb0e8dfd7068a)
1 extern void __abort(void);
2 
3 struct s {
4 	int elem:3;
5 };
6 
7 void foo(struct s *x);
8 void foo(struct s *x)
9 {
10 	if (x->elem == 0) {
11 		if (x->elem != 0 && x->elem != 1)
12 			__abort();
13 	}
14 }
15 
16 /*
17  * check-name: kill-casts
18  * check-command: test-linearize $file
19  *
20  * check-output-ignore
21  * check-output-excludes: cast\\.
22  * check-output-excludes: fcvt[us]\\.
23  * check-output-excludes: utptr\\.
24  * check-output-excludes: ptrtu\\.
25  * check-output-excludes: [sz]ext\\.
26  * check-output-excludes: trunc\\.
27  */
28