Print this page
12724 update smatch to 0.6.1-rc1-il-5

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/smatch_extra.h
          +++ new/usr/src/tools/smatch/src/smatch_extra.h
↓ open down ↓ 24 lines elided ↑ open up ↑
  25   25  
  26   26  DECLARE_PTR_LIST(related_list, struct relation);
  27   27  
  28   28  struct data_info {
  29   29          struct related_list *related;
  30   30          struct range_list *value_ranges;
  31   31          sval_t fuzzy_max;
  32   32          unsigned int hard_max:1;
  33   33          unsigned int capped:1;
  34   34          unsigned int treat_untagged:1;
       35 +        unsigned int set:1;
  35   36  };
  36   37  DECLARE_ALLOCATOR(data_info);
  37   38  
  38   39  extern struct string_list *__ignored_macros;
  39   40  
  40   41  /* these are implemented in smatch_ranges.c */
  41   42  struct range_list *rl_zero(void);
  42   43  struct range_list *rl_one(void);
  43   44  char *show_rl(struct range_list *list);
  44   45  int str_to_comparison_arg(const char *c, struct expression *call, int *comparison, struct expression **arg);
↓ open down ↓ 49 lines elided ↑ open up ↑
  94   95  
  95   96  void push_rl(struct range_list_stack **rl_stack, struct range_list *rl);
  96   97  struct range_list *pop_rl(struct range_list_stack **rl_stack);
  97   98  struct range_list *top_rl(struct range_list_stack *rl_stack);
  98   99  void filter_top_rl(struct range_list_stack **rl_stack, struct range_list *filter);
  99  100  
 100  101  struct range_list *rl_truncate_cast(struct symbol *type, struct range_list *rl);
 101  102  struct range_list *cast_rl(struct symbol *type, struct range_list *rl);
 102  103  int get_implied_rl(struct expression *expr, struct range_list **rl);
 103  104  int get_absolute_rl(struct expression *expr, struct range_list **rl);
      105 +void set_real_absolute(struct expression *expr, struct smatch_state *state);
 104  106  int get_real_absolute_rl(struct expression *expr, struct range_list **rl);
 105  107  struct range_list *var_to_absolute_rl(struct expression *expr);
 106  108  int custom_get_absolute_rl(struct expression *expr,
 107  109                             struct range_list *(*fn)(struct expression *expr),
 108  110                             struct range_list **rl);
 109  111  int get_implied_rl_var_sym(const char *var, struct symbol *sym, struct range_list **rl);
 110  112  void split_comparison_rl(struct range_list *left_orig, int op, struct range_list *right_orig,
 111  113                  struct range_list **left_true_rl, struct range_list **left_false_rl,
 112  114                  struct range_list **right_true_rl, struct range_list **right_false_rl);
 113  115  
↓ open down ↓ 30 lines elided ↑ open up ↑
 144  146  void estate_copy_fuzzy_max(struct smatch_state *new, struct smatch_state *old);
 145  147  void estate_clear_fuzzy_max(struct smatch_state *state);
 146  148  int estate_has_hard_max(struct smatch_state *state);
 147  149  void estate_set_hard_max(struct smatch_state *state);
 148  150  void estate_clear_hard_max(struct smatch_state *state);
 149  151  int estate_get_hard_max(struct smatch_state *state, sval_t *sval);
 150  152  bool estate_capped(struct smatch_state *state);
 151  153  void estate_set_capped(struct smatch_state *state);
 152  154  bool estate_treat_untagged(struct smatch_state *state);
 153  155  void estate_set_treat_untagged(struct smatch_state *state);
      156 +bool estate_new(struct smatch_state *state);
      157 +void estate_set_new(struct smatch_state *state);
 154  158  
 155  159  int estate_get_single_value(struct smatch_state *state, sval_t *sval);
 156  160  struct smatch_state *get_implied_estate(struct expression *expr);
 157  161  
 158  162  struct smatch_state *estate_filter_sval(struct smatch_state *orig, sval_t filter);
 159  163  struct data_info *clone_dinfo_perm(struct data_info *dinfo);
 160  164  struct smatch_state *clone_estate_perm(struct smatch_state *state);
 161  165  
 162  166  /* smatch_extra.c */
 163  167  bool is_impossible_variable(struct expression *expr);
↓ open down ↓ 75 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX