1 #include "check_debug.h"
2 
test(int x)3 static int test(int x)
4 {
5 	if (x == 12)
6 		return 10;
7 	return 0;
8 }
9 
10 int a, b;
func(void)11 static void func(void)
12 {
13 	if (a == 12)
14 		b = 1;
15 	else
16 		b = 4;
17 	if (test(a) == 10) {
18 		__smatch_implied(a);
19 		__smatch_implied(b);
20 	} else {
21 		__smatch_implied(a);
22 		__smatch_implied(b);
23 	}
24 
25 	if (a == 12)
26 		b = 10;
27 	else
28 		b = 40;
29 
30 	if (test(a))
31 		__smatch_implied(b);
32 	else
33 		__smatch_implied(b);
34 }
35 /*
36  * check-name: smatch implied #14
37  * check-command: smatch -I.. sm_implied14.c
38  *
39  * check-output-start
40 sm_implied14.c:18 func() implied: a = '12'
41 sm_implied14.c:19 func() implied: b = '1'
42 sm_implied14.c:21 func() implied: a = 's32min-11,13-s32max'
43 sm_implied14.c:22 func() implied: b = '4'
44 sm_implied14.c:31 func() implied: b = '10'
45 sm_implied14.c:33 func() implied: b = '40'
46  * check-output-end
47  */
48