11f5207b7SJohn Levon #include "check_debug.h"
21f5207b7SJohn Levon 
load_sig(unsigned long sig)31f5207b7SJohn Levon int load_sig(unsigned long sig)
41f5207b7SJohn Levon {
51f5207b7SJohn Levon 	return sig < 4 ? 0 : -12;
61f5207b7SJohn Levon }
71f5207b7SJohn Levon 
81f5207b7SJohn Levon int a;
test(void)91f5207b7SJohn Levon void test(void)
101f5207b7SJohn Levon {
111f5207b7SJohn Levon 	int ret;
121f5207b7SJohn Levon 
131f5207b7SJohn Levon 	ret = load_sig(a);
141f5207b7SJohn Levon 	if (ret) {
151f5207b7SJohn Levon 		__smatch_implied(ret);
161f5207b7SJohn Levon 		__smatch_implied(a);
171f5207b7SJohn Levon 	} else {
181f5207b7SJohn Levon 		__smatch_implied(a);
191f5207b7SJohn Levon 	}
201f5207b7SJohn Levon }
211f5207b7SJohn Levon 
221f5207b7SJohn Levon /*
231f5207b7SJohn Levon  * check-name: smatch select #5
241f5207b7SJohn Levon  * check-command: smatch -I.. sm_select5.c
251f5207b7SJohn Levon  *
261f5207b7SJohn Levon  * check-output-start
271f5207b7SJohn Levon sm_select5.c:15 test() implied: ret = '(-12)'
28*efe51d0cSJohn Levon sm_select5.c:16 test() implied: a = 's32min-(-1),4-s32max'
291f5207b7SJohn Levon sm_select5.c:18 test() implied: a = '0-3'
301f5207b7SJohn Levon  * check-output-end
311f5207b7SJohn Levon  */
32