1*1f5207b7SJohn Levon #include "check_debug.h" 2*1f5207b7SJohn Levon 3*1f5207b7SJohn Levon int a, b; 4*1f5207b7SJohn Levon frob(int * data)5*1f5207b7SJohn Levonint frob(int *data) 6*1f5207b7SJohn Levon { 7*1f5207b7SJohn Levon if (a) 8*1f5207b7SJohn Levon return 0; 9*1f5207b7SJohn Levon if (b) 10*1f5207b7SJohn Levon return -1; 11*1f5207b7SJohn Levon *data = 42; 12*1f5207b7SJohn Levon return 1; 13*1f5207b7SJohn Levon } 14*1f5207b7SJohn Levon test(void)15*1f5207b7SJohn Levonvoid test(void) 16*1f5207b7SJohn Levon { 17*1f5207b7SJohn Levon int x = -1; 18*1f5207b7SJohn Levon int ret; 19*1f5207b7SJohn Levon 20*1f5207b7SJohn Levon ret = frob(&x); 21*1f5207b7SJohn Levon if (ret < 0) 22*1f5207b7SJohn Levon return; 23*1f5207b7SJohn Levon if (ret == 0) 24*1f5207b7SJohn Levon return; 25*1f5207b7SJohn Levon __smatch_implied(x); 26*1f5207b7SJohn Levon } 27*1f5207b7SJohn Levon 28*1f5207b7SJohn Levon /* 29*1f5207b7SJohn Levon * check-name: smatch implied #18 30*1f5207b7SJohn Levon * check-command: smatch -I.. sm_implied18.c 31*1f5207b7SJohn Levon * 32*1f5207b7SJohn Levon * check-output-start 33*1f5207b7SJohn Levon sm_implied18.c:25 test() implied: x = '42' 34*1f5207b7SJohn Levon * check-output-end 35*1f5207b7SJohn Levon */ 36