Print this page
11972 resync smatch

@@ -29,10 +29,11 @@
         struct related_list *related;
         struct range_list *value_ranges;
         sval_t fuzzy_max;
         unsigned int hard_max:1;
         unsigned int capped:1;
+        unsigned int treat_untagged:1;
 };
 DECLARE_ALLOCATOR(data_info);
 
 extern struct string_list *__ignored_macros;
 

@@ -71,10 +72,12 @@
 int possibly_false_rl_LR(int comparison, struct range_list *a, struct range_list *b, int left);
 
 int rl_has_sval(struct range_list *rl, sval_t sval);
 int ranges_equiv(struct data_range *one, struct data_range *two);
 
+bool is_err_ptr(sval_t sval);
+
 int rl_equiv(struct range_list *one, struct range_list *two);
 int is_whole_rl(struct range_list *rl);
 int is_unknown_ptr(struct range_list *rl);
 int is_whole_rl_non_zero(struct range_list *rl);
 int estate_is_unknown(struct smatch_state *state);

@@ -144,10 +147,12 @@
 void estate_set_hard_max(struct smatch_state *state);
 void estate_clear_hard_max(struct smatch_state *state);
 int estate_get_hard_max(struct smatch_state *state, sval_t *sval);
 bool estate_capped(struct smatch_state *state);
 void estate_set_capped(struct smatch_state *state);
+bool estate_treat_untagged(struct smatch_state *state);
+void estate_set_treat_untagged(struct smatch_state *state);
 
 int estate_get_single_value(struct smatch_state *state, sval_t *sval);
 struct smatch_state *get_implied_estate(struct expression *expr);
 
 struct smatch_state *estate_filter_sval(struct smatch_state *orig, sval_t filter);

@@ -209,10 +214,11 @@
 struct expression *symbol_expression(struct symbol *sym);
 struct expression *string_expression(char *str);
 struct expression *compare_expression(struct expression *left, int op, struct expression *right);
 struct expression *unknown_value_expression(struct expression *expr);
 int is_fake_call(struct expression *expr);
+struct expression *gen_expression_from_name_sym(const char *name, struct symbol *sym);
 struct expression *gen_expression_from_key(struct expression *arg, const char *key);
 void free_tmp_expressions(void);
 void expr_set_parent_expr(struct expression *expr, struct expression *parent);
 void expr_set_parent_stmt(struct expression *expr, struct statement *parent);
 struct expression *expr_get_parent_expr(struct expression *expr);