1*1f5207b7SJohn Levon #include <stdio.h>
2*1f5207b7SJohn Levon #include <string.h>
3*1f5207b7SJohn Levon #include "check_debug.h"
4*1f5207b7SJohn Levon 
frob(int * x)5*1f5207b7SJohn Levon int frob(int *x)
6*1f5207b7SJohn Levon {
7*1f5207b7SJohn Levon 	*x = *x * 3;
8*1f5207b7SJohn Levon 	return 0;
9*1f5207b7SJohn Levon }
10*1f5207b7SJohn Levon 
11*1f5207b7SJohn Levon int *x;
12*1f5207b7SJohn Levon int y;
main(void)13*1f5207b7SJohn Levon int main(void)
14*1f5207b7SJohn Levon {
15*1f5207b7SJohn Levon 	*x = 1;
16*1f5207b7SJohn Levon 	frob(x);
17*1f5207b7SJohn Levon 	__smatch_implied(*x);
18*1f5207b7SJohn Levon 	frob(x);
19*1f5207b7SJohn Levon 	__smatch_implied(*x);
20*1f5207b7SJohn Levon 
21*1f5207b7SJohn Levon 	y = 2;
22*1f5207b7SJohn Levon 	frob(&y);
23*1f5207b7SJohn Levon 	__smatch_implied(y);
24*1f5207b7SJohn Levon 	frob(&y);
25*1f5207b7SJohn Levon 	__smatch_implied(y);
26*1f5207b7SJohn Levon 
27*1f5207b7SJohn Levon 	return 0;
28*1f5207b7SJohn Levon }
29*1f5207b7SJohn Levon 
30*1f5207b7SJohn Levon 
31*1f5207b7SJohn Levon /*
32*1f5207b7SJohn Levon  * check-name: smatch: inline #1
33*1f5207b7SJohn Levon  * check-command: smatch -I.. sm_inline1.c
34*1f5207b7SJohn Levon  *
35*1f5207b7SJohn Levon  * check-output-start
36*1f5207b7SJohn Levon sm_inline1.c:17 main() implied: *x = '3'
37*1f5207b7SJohn Levon sm_inline1.c:19 main() implied: *x = '9'
38*1f5207b7SJohn Levon sm_inline1.c:23 main() implied: y = '6'
39*1f5207b7SJohn Levon sm_inline1.c:25 main() implied: y = '18'
40*1f5207b7SJohn Levon  * check-output-end
41*1f5207b7SJohn Levon  */
42