Print this page
11506 smatch resync

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/smatch_type_val.c
          +++ new/usr/src/tools/smatch/src/smatch_type_val.c
↓ open down ↓ 388 lines elided ↑ open up ↑
 389  389  static void match_assign_value(struct expression *expr)
 390  390  {
 391  391          char *member, *right_member;
 392  392          struct range_list *rl;
 393  393          struct symbol *type;
 394  394  
 395  395          if (!cur_func_sym)
 396  396                  return;
 397  397  
 398  398          type = get_type(expr->left);
 399      -        if (type && type->type == SYM_STRUCT)
 400      -                return;
 401      -
 402  399          member = get_member_name(expr->left);
 403  400          if (!member)
 404  401                  return;
 405  402  
 406  403          /* if we're saying foo->mtu = bar->mtu then that doesn't add information */
 407  404          right_member = get_member_name(expr->right);
 408  405          if (right_member && strcmp(right_member, member) == 0)
 409  406                  goto free;
 410  407  
 411  408          if (is_fake_call(expr->right)) {
↓ open down ↓ 201 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX