1 #include "check_debug.h"
2 
3 void memset(void *p, char pat, int size);
4 
5 struct foo {
6 	int a, b;
7 };
8 
my_func(struct foo * p)9 void my_func(struct foo *p)
10 {
11 	memset(p, 0, sizeof(*p));
12 	p->a = 1;
13 }
14 
15 struct foo *my_pointer;
16 
test(void)17 void test(void)
18 {
19 	struct foo foo;
20 
21 	my_func(my_pointer);
22 	my_func(&foo);
23 	__smatch_implied(my_pointer->a);
24 	__smatch_implied(my_pointer->b);
25 	__smatch_implied(foo.a);
26 	__smatch_implied(foo.b);
27 }
28 
29 /*
30  * check-name: smatch: inline #3
31  * check-command: smatch -I.. sm_inline3.c
32  *
33  * check-output-start
34 sm_inline3.c:23 test() implied: my_pointer->a = '1'
35 sm_inline3.c:24 test() implied: my_pointer->b = '0'
36 sm_inline3.c:25 test() implied: foo.a = '1'
37 sm_inline3.c:26 test() implied: foo.b = '0'
38  * check-output-end
39  */
40