*new* check_macros: find macro precedence bugs
[smatch.git] / validation / sm_implied8.c
blob937b15c196a77a187243b1d8956ec4e448f4ed0e
1 #include "check_debug.h"
3 void frob();
5 int x;
6 void func (void)
8 int test, test2;
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");
26 * check-name: smatch implied #8
27 * check-command: smatch -I.. sm_implied8.c
29 * check-output-start
30 sm_implied8.c +11 func(5) x = min-(-1),1-max
31 sm_implied8.c +13 func(7) x = 0
32 sm_implied8.c +15 func(9) x = min-max
33 sm_implied8.c +17 func(11) x = min-2,4-max
34 sm_implied8.c +19 func(13) x = 3
35 sm_implied8.c +22 func(16) x = min-9,11-max
36 sm_implied8.c +23 func(17) x = min-max
37 * check-output-end