2 * sparse/smatch_extra.h
4 * Copyright (C) 2009 Dan Carpenter.
6 * Licensed under the Open Software License version 1.1
14 DECLARE_PTR_LIST(num_list
, long long);
19 struct num_list
*values
;
20 struct num_list
*filter
;
22 DECLARE_ALLOCATOR(data_info
);
24 /* these are implimented in smatch_extra_helper.c */
25 struct data_info
*alloc_data_info(long long num
);
26 void add_num(struct num_list
**list
, long long num
);
27 struct num_list
*clone_num_list(struct num_list
*list
);
28 struct num_list
*num_list_union(struct num_list
*one
, struct num_list
*two
);
29 struct num_list
*num_list_intersection(struct num_list
*one
,
30 struct num_list
*two
);
31 int num_matches(struct data_info
*dinfo
, long long num
);
32 long long get_single_value(struct data_info
*dinfo
);
33 int possibly_true(int comparison
, struct data_info
*dinfo
, int num
, int left
);
34 int possibly_false(int comparison
, struct data_info
*dinfo
, int num
, int left
);
35 void free_data_info_allocs(void);
37 /* used in smatch_slist. implemented in smatch_extra.c */
38 struct sm_state
*__extra_merge(struct sm_state
*one
, struct state_list
*slist1
,
39 struct sm_state
*two
, struct state_list
*slist2
);
40 struct sm_state
*__extra_and_merge(struct sm_state
*sm
,
41 struct state_list_stack
*stack
);