1 struct ture {
   2         int a;
   3 };
   4 
   5 struct ture *a;
   6 struct ture *b;
   7 
   8 void func (void)
   9 {
  10         if (!a && !(a = returns_nonnull()))
  11                 return;
  12         a->a = 1;
  13 
  14         if (b || (b = returns_nonnull())) {
  15                 b->a  = 1;
  16                 return;
  17         }
  18         b->a = 1;
  19 }
  20 /*
  21  * check-name: Compound Conditions
  22  * check-command: smatch sm_compound_condition.c
  23  *
  24  * check-output-start
  25 sm_compound_condition.c:18 func() error: we previously assumed 'b' could be null (see line 14)
  26  * check-output-end
  27  */