1#include "check_debug.h"
2
3void frob(void){}
4
5int x[10];
6int offset;
7void 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
25sm_implied10.c:10 func() y = 0,4096-ptr_max
26sm_implied10.c:12 func() y = 4096-ptr_max
27sm_implied10.c:15 func() offset = s32min-s32max
28sm_implied10.c:17 func() offset = 0-9
29 * check-output-end
30 */
31