*new* check_macros: find macro precedence bugs
[smatch.git] / validation / sm_compound_condition.c
blob2e53ce2cde86da1ec9858653157cfe9eff48bf9d
1 struct ture {
2 int a;
3 };
5 struct ture *a;
6 struct ture *b;
8 void func (void)
10 if (!a && !(a = returns_nonnull()))
11 return;
12 a->a = 1;
14 if (b || (b = returns_nonnull())) {
15 b->a = 1;
16 return;
18 b->a = 1;
21 * check-name: Compound Conditions
22 * check-command: smatch sm_compound_condition.c
24 * check-output-start
25 sm_compound_condition.c +18 func(10) error: we previously assumed 'b' could be null.
26 * check-output-end