1*1f5207b7SJohn Levon #include "check_debug.h"
2*1f5207b7SJohn Levon 
3*1f5207b7SJohn Levon int a, b, c;
4*1f5207b7SJohn Levon 
frob(void)5*1f5207b7SJohn Levon static int frob(void)
6*1f5207b7SJohn Levon {
7*1f5207b7SJohn Levon 	if (a > 5)
8*1f5207b7SJohn Levon 		return;
9*1f5207b7SJohn Levon 	if (b > 5)
10*1f5207b7SJohn Levon 		return;
11*1f5207b7SJohn Levon 	if (c != 5)
12*1f5207b7SJohn Levon 		return;
13*1f5207b7SJohn Levon 
14*1f5207b7SJohn Levon 	if (a == 10)
15*1f5207b7SJohn Levon 		__smatch_value("a");
16*1f5207b7SJohn Levon 	if (b != 10)
17*1f5207b7SJohn Levon 		__smatch_value("b");
18*1f5207b7SJohn Levon 	if (c != 5)
19*1f5207b7SJohn Levon 		__smatch_value("c");
20*1f5207b7SJohn Levon 	if (5 != c)
21*1f5207b7SJohn Levon 		__smatch_value("c");
22*1f5207b7SJohn Levon 
23*1f5207b7SJohn Levon 	__smatch_value("a");
24*1f5207b7SJohn Levon 	__smatch_value("b");
25*1f5207b7SJohn Levon 	__smatch_value("c");
26*1f5207b7SJohn Levon }
27*1f5207b7SJohn Levon 
28*1f5207b7SJohn Levon /*
29*1f5207b7SJohn Levon  * check-name: Smatch Comparison
30*1f5207b7SJohn Levon  * check-command: smatch -I.. sm_compare.c
31*1f5207b7SJohn Levon  *
32*1f5207b7SJohn Levon  * check-output-start
33*1f5207b7SJohn Levon sm_compare.c:15 frob() a = empty
34*1f5207b7SJohn Levon sm_compare.c:17 frob() b = s32min-5
35*1f5207b7SJohn Levon sm_compare.c:19 frob() c = empty
36*1f5207b7SJohn Levon sm_compare.c:21 frob() c = empty
37*1f5207b7SJohn Levon sm_compare.c:23 frob() a = s32min-5
38*1f5207b7SJohn Levon sm_compare.c:24 frob() b = s32min-5
39*1f5207b7SJohn Levon sm_compare.c:25 frob() c = 5
40*1f5207b7SJohn Levon  * check-output-end
41*1f5207b7SJohn Levon  */
42