Print this page
12013 fix GCC4 as primary compiler

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/smatch_kernel_user_data.c
          +++ new/usr/src/tools/smatch/src/smatch_kernel_user_data.c
↓ open down ↓ 673 lines elided ↑ open up ↑
 674  674          } else {
 675  675                  set_true_false_states_expr(my_id, expr->right,
 676  676                                  expr->op == SPECIAL_EQUAL ? alloc_estate_empty() : NULL,
 677  677                                  expr->op == SPECIAL_EQUAL ? NULL : alloc_estate_empty());
 678  678          }
 679  679  }
 680  680  
 681  681  static struct range_list *strip_negatives(struct range_list *rl)
 682  682  {
 683  683          sval_t min = rl_min(rl);
 684      -        sval_t minus_one = { .type = rl_type(rl), .value = -1 };
 685      -        sval_t over = { .type = rl_type(rl), .value = INT_MAX + 1ULL };
      684 +        sval_t minus_one;
      685 +        sval_t over;
 686  686          sval_t max = sval_type_max(rl_type(rl));
 687  687  
      688 +        minus_one.type = rl_type(rl);
      689 +        minus_one.value = -1;
      690 +        over.type = rl_type(rl);
      691 +        over.value = INT_MAX + 1ULL;
      692 +
 688  693          if (!rl)
 689  694                  return NULL;
 690  695  
 691  696          if (type_unsigned(rl_type(rl)) && type_bits(rl_type(rl)) > 31)
 692  697                  return remove_range(rl, over, max);
 693  698  
 694  699          return remove_range(rl, min, minus_one);
 695  700  }
 696  701  
 697  702  static void handle_compare(struct expression *expr)
↓ open down ↓ 852 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX