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