Print this page
11506 smatch resync

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/check_dma_mapping_error.c
          +++ new/usr/src/tools/smatch/src/check_dma_mapping_error.c
↓ open down ↓ 24 lines elided ↑ open up ↑
  25   25  STATE(ok);
  26   26  
  27   27  static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
  28   28  {
  29   29          if (sm->state != &ok)
  30   30                  set_state(my_id, sm->name, sm->sym, &ok);
  31   31  }
  32   32  
  33   33  static void match_assign(const char *fn, struct expression *expr, void *unused)
  34   34  {
       35 +        struct range_list *rl;
       36 +
       37 +        if (!get_implied_rl(expr->right, &rl))
       38 +                return;
       39 +        if (rl_max(rl).value != 1)
       40 +                return;
  35   41          set_state_expr(my_id, expr->left, &positive);
  36   42  }
  37   43  
  38   44  static void match_condition(struct expression *expr)
  39   45  {
  40   46          if (!get_state_expr(my_id, expr))
  41   47                  return;
  42   48          /* If the variable is zero that's ok */
  43   49          set_true_false_states_expr(my_id, expr, NULL, &ok);
  44   50  }
↓ open down ↓ 34 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX