1 #include "check_debug.h"
2 
frob(void)3 void frob(void){}
4 
5 int x[10];
6 int offset;
func(int * y)7 void func(int *y)
8 {
9 	if (({int test2 = !!(!y || !*y); frob(); frob(); frob(); test2;}))
10 		__smatch_value("y");
11 	else
12 		__smatch_value("y");
13 
14 	if (({int test2 = !!(offset >= 10u || x[offset] == 1); frob(); frob(); frob(); test2;}))
15 		__smatch_value("offset");
16 	else
17 		__smatch_value("offset");
18 
19 }
20 /*
21  * check-name: smatch implied #10
22  * check-command: smatch -I.. -m64 sm_implied10.c
23  *
24  * check-output-start
25 sm_implied10.c:10 func() y = 0,4096-ptr_max
26 sm_implied10.c:12 func() y = 4096-ptr_max
27 sm_implied10.c:15 func() offset = s32min-s32max
28 sm_implied10.c:17 func() offset = 0-9
29  * check-output-end
30  */
31