xref: /illumos-gate/usr/src/tools/smatch/src/validation/sm_range1.c (revision 1f5207b7604fb44407eb4342aff613f7c4508508)
1*1f5207b7SJohn Levon struct ture {
2*1f5207b7SJohn Levon 	int x;
3*1f5207b7SJohn Levon };
4*1f5207b7SJohn Levon 
5*1f5207b7SJohn Levon struct ture *p;
6*1f5207b7SJohn Levon struct ture *q;
7*1f5207b7SJohn Levon int xxx;
8*1f5207b7SJohn Levon 
func(void)9*1f5207b7SJohn Levon int func (void)
10*1f5207b7SJohn Levon {
11*1f5207b7SJohn Levon 
12*1f5207b7SJohn Levon 	for (xxx = 0; xxx < 10; xxx++) {
13*1f5207b7SJohn Levon 		if (p && q)
14*1f5207b7SJohn Levon 			break;
15*1f5207b7SJohn Levon 	}
16*1f5207b7SJohn Levon // this needs two pass processing to work.
17*1f5207b7SJohn Levon //	if (xxx == 5)
18*1f5207b7SJohn Levon //		q->x = 1;
19*1f5207b7SJohn Levon 	if (xxx == 10)
20*1f5207b7SJohn Levon 		return;
21*1f5207b7SJohn Levon 	p->x = 1;
22*1f5207b7SJohn Levon 
23*1f5207b7SJohn Levon 	return 0;
24*1f5207b7SJohn Levon }
25*1f5207b7SJohn Levon 
26*1f5207b7SJohn Levon /*
27*1f5207b7SJohn Levon  * check-name: Implied Ranges #1
28*1f5207b7SJohn Levon  * check-command: smatch sm_range1.c
29*1f5207b7SJohn Levon  */
30