1 #include "check_debug.h"
2 
3 void memcpy(void *dest, void *src, int size);
4 void memset(void *dest, char c, int size);
5 
6 
7 struct foo {
8 	int x, y;
9 };
10 
test(void)11 void test(void)
12 {
13 	struct foo src = {1, 41};
14 	struct foo dest;
15 
16 	memcpy(&dest, &src, sizeof(dest));
17 	__smatch_implied(dest.x + dest.y);
18 	memset(&dest, 0, sizeof(dest));
19 	__smatch_implied(dest.x + dest.y);
20 
21 }
22 
23 /*
24  * check-name: smatch struct assignment #1
25  * check-command: smatch -I.. sm_struct_assign1.c
26  *
27  * check-output-start
28 sm_struct_assign1.c:17 test() implied: dest.x + dest.y = '42'
29 sm_struct_assign1.c:19 test() implied: dest.x + dest.y = '0'
30  * check-output-end
31  */
32