conditions: use set_extra_expr_mod() to change extra states
[smatch.git] / validation / sm_implied9.c
blob9e76d39d3448e6a2151bf9a859c23b6edfd17764
1 #include "check_debug.h"
3 void frob(void){}
5 void func(int y)
7 int test2;
9 if (({int test2 = !!(y < 0 || y >= 10); frob(); frob(); frob(); test2;}))
10 __smatch_value("y");
11 else
12 __smatch_value("y");
14 test2 = (y < 3 || y >= 5);
15 if (test2)
16 __smatch_value("y");
17 else
18 __smatch_value("y");
20 if (({int test3 = y < -98; frob(); frob(); frob(); test3;}))
21 __smatch_value("y");
24 * check-name: smatch implied #9
25 * check-command: smatch -I.. sm_implied9.c
27 * check-output-start
28 sm_implied9.c:10 func() y = s32min-(-1),10-s32max
29 sm_implied9.c:12 func() y = 0-9
30 sm_implied9.c:16 func() y = s32min-2,5-s32max
31 sm_implied9.c:18 func() y = 3-4
32 sm_implied9.c:21 func() y = s32min-(-99)
33 * check-output-end