1 #include "check_debug.h"
2 
3 void frob();
4 
5 int test, test2;
6 
7 int x;
func(void)8 void func (void)
9 {
10 	if (({int test = !!x; frob(); frob(); frob(); test;}))
11 		__smatch_value("x");
12 	else
13 		__smatch_value("x");
14 	if (test)
15 		__smatch_value("x");
16 	if (({test2 = !(x == 3); frob(); frob(); frob(); test2;}))
17 		__smatch_value("x");
18 	else
19 		__smatch_value("x");
20 	test = !!(x == 10);
21 	if (!test)
22 		__smatch_value("x");
23 	__smatch_value("x");
24 }
25 /*
26  * check-name: smatch implied #8
27  * check-command: smatch -I.. sm_implied8.c
28  *
29  * check-output-start
30 sm_implied8.c:11 func() x = s32min-(-1),1-s32max
31 sm_implied8.c:13 func() x = 0
32 sm_implied8.c:15 func() x = s32min-(-1),1-s32max
33 sm_implied8.c:17 func() x = s32min-2,4-s32max
34 sm_implied8.c:19 func() x = 3
35 sm_implied8.c:22 func() x = s32min-9,11-s32max
36 sm_implied8.c:23 func() x = s32min-s32max
37  * check-output-end
38  */
39