1 #include "check_debug.h"
2 
3 int some_func(void);
4 
5 int a;
frob(int * p)6 int frob(int *p)
7 {
8 	int ret = 0;
9 
10 	*p = 4;
11 	if (a)
12 		goto out;
13 
14 	*p = some_func();
15 	if (*p < 10 || *p > 100) {
16 		ret = -12;
17 		goto out;
18 	}
19 
20 out:
21 	return ret;
22 }
23 
test(void)24 void test(void)
25 {
26 	int var = 0;
27 	int ret;
28 
29 	ret = frob(&var);
30 	__smatch_implied(var);
31 	if (ret)
32 		return;
33 	__smatch_implied(var);
34 }
35 /*
36  * check-name: smatch implied #15
37  * check-command: smatch -I.. sm_implied15.c
38  *
39  * check-output-start
40 sm_implied15.c:30 test() implied: var = 's32min-s32max'
41 sm_implied15.c:33 test() implied: var = '4,10-100'
42  * check-output-end
43  */
44