From 28a04296ed2bb2da441f60e3c390a74996e7905e Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Mon, 2 Mar 2009 14:31:13 +0300 Subject: [PATCH] Get rid of unused line history code. Signed-off-by: Dan Carpenter --- smatch.h | 1 - smatch_extra.h | 37 +++++++++++++++++++++++++++++++++++++ smatch_slist.c | 13 ------------- smatch_slist.h | 5 ----- smatch_states.c | 2 -- 5 files changed, 37 insertions(+), 21 deletions(-) create mode 100644 smatch_extra.h diff --git a/smatch.h b/smatch.h index a669cc49..6057a873 100644 --- a/smatch.h +++ b/smatch.h @@ -34,7 +34,6 @@ struct sm_state { unsigned int owner; struct symbol *sym; struct smatch_state *state; - struct history_list *line_history; struct state_list_stack *my_pools; struct state_list_stack *all_pools; struct state_list *possible; diff --git a/smatch_extra.h b/smatch_extra.h new file mode 100644 index 00000000..874c3b22 --- /dev/null +++ b/smatch_extra.h @@ -0,0 +1,37 @@ +enum data_type { + DATA_NUM, +// DATA_RETURN, +// DATA_POINTER, +// DATA_BITFIELD, +}; + +struct num_range { + long long min; + long long max; +}; + +DECLARE_PTR_LIST(range_list, struct int_range); + +struct data_info { + data_type type; + bool initialized; + union { + // DATA_NUM + struct { + struct range_list *ranges; + struct range_list *filters; + }; + }; +}; + + +/* these are implimented in smatch_extra_helper.c */ +void remove_num(struct range_list **range, const int num); +void remove_range(struct range_list **range, const range_list *cutter); + +void add_to_range(struct range_list **range, const int num); +void combine_range(struct range_list **range, const range_list *new); + +void in_range(struct range_list *list, long long num); +int ranges_overlap(struct range_list *a, struct range_list *b); + diff --git a/smatch_slist.c b/smatch_slist.c index 078a0d22..c8cb310c 100644 --- a/smatch_slist.c +++ b/smatch_slist.c @@ -38,17 +38,6 @@ void __print_slist(struct state_list *slist) printf("---\n"); } -void add_history(struct sm_state *state) -{ - struct state_history *tmp; - - if (!state) - return; - tmp = malloc(sizeof(*tmp)); - tmp->loc = get_lineno(); - add_ptr_list(&state->line_history, tmp); -} - /* NULL states go at the end to simplify merge_slist */ int cmp_tracker(const struct sm_state *a, const struct sm_state *b) @@ -145,8 +134,6 @@ struct sm_state *alloc_state(const char *name, int owner, sm_state->owner = owner; sm_state->sym = sym; sm_state->state = state; - sm_state->line_history = NULL; - add_history(sm_state); sm_state->my_pools = NULL; sm_state->all_pools = NULL; sm_state->possible = NULL; diff --git a/smatch_slist.h b/smatch_slist.h index c36a49cf..d5851d2a 100644 --- a/smatch_slist.h +++ b/smatch_slist.h @@ -1,8 +1,3 @@ -struct state_history { - unsigned int loc; -}; -DECLARE_PTR_LIST(history_list, struct state_history); - DECLARE_ALLOCATOR(sm_state); DECLARE_PTR_LIST(state_list, struct sm_state); DECLARE_PTR_LIST(state_list_stack, struct state_list); diff --git a/smatch_states.c b/smatch_states.c index b73470be..36d13653 100644 --- a/smatch_states.c +++ b/smatch_states.c @@ -154,8 +154,6 @@ void set_true_false_states(const char *name, int owner, struct symbol *sym, struct smatch_state *true_state, struct smatch_state *false_state) { - /* fixme. save history */ - if (debug_states) { struct smatch_state *tmp; -- 2.11.4.GIT