197 struct related_list *clone_related_list(struct related_list *related);
198 void remove_from_equiv(const char *name, struct symbol *sym);
199 void remove_from_equiv_expr(struct expression *expr);
200 void set_equiv_state_expr(int id, struct expression *expr, struct smatch_state *state);
201
202 /* smatch_function_hooks.c */
203 void function_comparison(struct expression *left, int comparison, struct expression *right);
204
205 /* smatch_expressions.c */
206 struct expression *zero_expr();
207 struct expression *value_expr(long long val);
208 struct expression *member_expression(struct expression *deref, int op, struct ident *member);
209 struct expression *preop_expression(struct expression *expr, int op);
210 struct expression *deref_expression(struct expression *expr);
211 struct expression *assign_expression(struct expression *left, int op, struct expression *right);
212 struct expression *binop_expression(struct expression *left, int op, struct expression *right);
213 struct expression *array_element_expression(struct expression *array, struct expression *offset);
214 struct expression *symbol_expression(struct symbol *sym);
215 struct expression *string_expression(char *str);
216 struct expression *compare_expression(struct expression *left, int op, struct expression *right);
217 struct expression *unknown_value_expression(struct expression *expr);
218 int is_fake_call(struct expression *expr);
219 struct expression *gen_expression_from_name_sym(const char *name, struct symbol *sym);
220 struct expression *gen_expression_from_key(struct expression *arg, const char *key);
221 void free_tmp_expressions(void);
222 void expr_set_parent_expr(struct expression *expr, struct expression *parent);
223 void expr_set_parent_stmt(struct expression *expr, struct statement *parent);
224 struct expression *expr_get_parent_expr(struct expression *expr);
225 struct statement *expr_get_parent_stmt(struct expression *expr);
226
227 /* smatch_param_limit.c */
228 struct smatch_state *get_orig_estate(const char *name, struct symbol *sym);
229
230 /* smatch_real_absolute.c */
231 struct smatch_state *get_real_absolute_state(struct expression *expr);
232 struct smatch_state *get_real_absolute_state_var_sym(const char *name, struct symbol *sym);
233
234 /* smatch_imaginary_absolute.c */
235 void __save_imaginary_state(struct expression *expr, struct range_list *true_rl, struct range_list *false_rl);
236 int get_imaginary_absolute(struct expression *expr, struct range_list **rl);
|
197 struct related_list *clone_related_list(struct related_list *related);
198 void remove_from_equiv(const char *name, struct symbol *sym);
199 void remove_from_equiv_expr(struct expression *expr);
200 void set_equiv_state_expr(int id, struct expression *expr, struct smatch_state *state);
201
202 /* smatch_function_hooks.c */
203 void function_comparison(struct expression *left, int comparison, struct expression *right);
204
205 /* smatch_expressions.c */
206 struct expression *zero_expr();
207 struct expression *value_expr(long long val);
208 struct expression *member_expression(struct expression *deref, int op, struct ident *member);
209 struct expression *preop_expression(struct expression *expr, int op);
210 struct expression *deref_expression(struct expression *expr);
211 struct expression *assign_expression(struct expression *left, int op, struct expression *right);
212 struct expression *binop_expression(struct expression *left, int op, struct expression *right);
213 struct expression *array_element_expression(struct expression *array, struct expression *offset);
214 struct expression *symbol_expression(struct symbol *sym);
215 struct expression *string_expression(char *str);
216 struct expression *compare_expression(struct expression *left, int op, struct expression *right);
217 struct expression *call_expression(struct expression *fn, struct expression_list *args);
218 struct expression *unknown_value_expression(struct expression *expr);
219 int is_fake_call(struct expression *expr);
220 struct expression *gen_expression_from_name_sym(const char *name, struct symbol *sym);
221 struct expression *gen_expression_from_key(struct expression *arg, const char *key);
222 void free_tmp_expressions(void);
223 void expr_set_parent_expr(struct expression *expr, struct expression *parent);
224 void expr_set_parent_stmt(struct expression *expr, struct statement *parent);
225 struct expression *expr_get_parent_expr(struct expression *expr);
226 struct statement *expr_get_parent_stmt(struct expression *expr);
227
228 /* smatch_param_limit.c */
229 struct smatch_state *get_orig_estate(const char *name, struct symbol *sym);
230
231 /* smatch_real_absolute.c */
232 struct smatch_state *get_real_absolute_state(struct expression *expr);
233 struct smatch_state *get_real_absolute_state_var_sym(const char *name, struct symbol *sym);
234
235 /* smatch_imaginary_absolute.c */
236 void __save_imaginary_state(struct expression *expr, struct range_list *true_rl, struct range_list *false_rl);
237 int get_imaginary_absolute(struct expression *expr, struct range_list **rl);
|