1*1f5207b7SJohn Levon #include <stdio.h>
2*1f5207b7SJohn Levon #include "check_debug.h"
3*1f5207b7SJohn Levon 
4*1f5207b7SJohn Levon int x = 42;
5*1f5207b7SJohn Levon 
6*1f5207b7SJohn Levon struct foo {
7*1f5207b7SJohn Levon 	int a, b, c;
8*1f5207b7SJohn Levon };
9*1f5207b7SJohn Levon struct foo aaa = {
10*1f5207b7SJohn Levon 	.a = 1, .b = 2, .c = 3,
11*1f5207b7SJohn Levon };
12*1f5207b7SJohn Levon 
13*1f5207b7SJohn Levon int array[10];
14*1f5207b7SJohn Levon 
main(void)15*1f5207b7SJohn Levon int main(void)
16*1f5207b7SJohn Levon {
17*1f5207b7SJohn Levon 	__smatch_implied(&x);
18*1f5207b7SJohn Levon 	__smatch_implied(&aaa);
19*1f5207b7SJohn Levon 	__smatch_implied(&aaa.b);
20*1f5207b7SJohn Levon 	__smatch_implied(array);
21*1f5207b7SJohn Levon 	__smatch_implied(&array[1]);
22*1f5207b7SJohn Levon 
23*1f5207b7SJohn Levon 	return 0;
24*1f5207b7SJohn Levon }
25*1f5207b7SJohn Levon 
26*1f5207b7SJohn Levon /*
27*1f5207b7SJohn Levon  * check-name: smatch mtag #5
28*1f5207b7SJohn Levon  * check-command: smatch -I.. sm_mtag5.c
29*1f5207b7SJohn Levon  *
30*1f5207b7SJohn Levon  * check-output-start
31*1f5207b7SJohn Levon sm_mtag5.c:17 main() implied: &x = '799717014380380160'
32*1f5207b7SJohn Levon sm_mtag5.c:18 main() implied: &aaa = '126458562737565696'
33*1f5207b7SJohn Levon sm_mtag5.c:19 main() implied: &aaa.b = '126458562737565700'
34*1f5207b7SJohn Levon sm_mtag5.c:20 main() implied: array = '7934625272050024448'
35*1f5207b7SJohn Levon sm_mtag5.c:21 main() implied: &array[1] = '7934625272050024452'
36*1f5207b7SJohn Levon  * check-output-end
37*1f5207b7SJohn Levon  */
38