*new* check_macros: find macro precedence bugs
[smatch.git] / validation / sm_select_assign.c
blobdb47def9f311e80596406efc270090caaeff8e5c
1 #include "check_debug.h"
3 void frob();
5 #define min(a, b) ((a) < (b) ? (a) : (b))
7 void func(void)
9 int i;
10 int val;
12 for (i = 0; i < 10; i++) {
13 val = min(5, i);
14 __smatch_value("val");
17 i++;
18 __smatch_value("i");
19 val = min(100, i);
20 __smatch_value("val");
22 for (i = 0; i < 10; i++)
23 frob();
25 val = min(100, i);
26 __smatch_value("val");
29 * check-name: assigning select statements
30 * check-command: smatch -I.. sm_select_assign.c
32 * check-output-start
33 sm_select_assign.c +14 func(7) val = 0-5
34 sm_select_assign.c +18 func(11) i = 11-max
35 sm_select_assign.c +20 func(13) val = 11-100
36 sm_select_assign.c +26 func(19) val = 10
37 * check-output-end