1*1f5207b7SJohn Levon #include "check_debug.h"
2*1f5207b7SJohn Levon 
3*1f5207b7SJohn Levon int frob();
4*1f5207b7SJohn Levon 
5*1f5207b7SJohn Levon int a, b, c;
func(unsigned long x)6*1f5207b7SJohn Levon void func(unsigned long x)
7*1f5207b7SJohn Levon {
8*1f5207b7SJohn Levon 	if (x >= 4)
9*1f5207b7SJohn Levon 		return;
10*1f5207b7SJohn Levon 
11*1f5207b7SJohn Levon 	__smatch_value("x");
12*1f5207b7SJohn Levon 	if ((!(a) ? -19 : (((b && c) ? frob() : -515))))
13*1f5207b7SJohn Levon 		__smatch_value("x");
14*1f5207b7SJohn Levon 	__smatch_value("x");
15*1f5207b7SJohn Levon }
16*1f5207b7SJohn Levon /*
17*1f5207b7SJohn Levon  * check-name: Smatch Ternary #4
18*1f5207b7SJohn Levon  * check-command: smatch -I.. sm_select4.c
19*1f5207b7SJohn Levon  *
20*1f5207b7SJohn Levon  * check-output-start
21*1f5207b7SJohn Levon sm_select4.c:11 func() x = 0-3
22*1f5207b7SJohn Levon sm_select4.c:13 func() x = 0-3
23*1f5207b7SJohn Levon sm_select4.c:14 func() x = 0-3
24*1f5207b7SJohn Levon  * check-output-end
25*1f5207b7SJohn Levon  */
26