Skip to content

Commit c459861

Browse files
Remove unused code from goto_program_dereference
A lot of code in goto_program_dereference was deprecated, commented or documented as unused. This commit remove these parts of the code.
1 parent 85a901b commit c459861

File tree

2 files changed

+0
-166
lines changed

2 files changed

+0
-166
lines changed

src/pointer-analysis/goto_program_dereference.cpp

Lines changed: 0 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -44,56 +44,6 @@ goto_program_dereferencet::get_or_create_failed_symbol(const exprt &expr)
4444
return nullptr;
4545
}
4646

47-
/// \deprecated
48-
bool goto_program_dereferencet::is_valid_object(
49-
const irep_idt &identifier)
50-
{
51-
const symbolt &symbol=ns.lookup(identifier);
52-
53-
if(symbol.type.id()==ID_code)
54-
return true;
55-
56-
if(symbol.is_static_lifetime)
57-
return true; // global/static
58-
59-
#if 0
60-
return valid_local_variables->find(symbol.name)!=
61-
valid_local_variables->end(); // valid local
62-
#else
63-
return true;
64-
#endif
65-
}
66-
67-
/// \deprecated
68-
void goto_program_dereferencet::dereference_failure(
69-
const std::string &property,
70-
const std::string &msg,
71-
const guardt &guard)
72-
{
73-
exprt guard_expr=guard.as_expr();
74-
75-
if(assertions.insert(guard_expr).second)
76-
{
77-
guard_expr = boolean_negate(guard_expr);
78-
79-
// first try simplifier on it
80-
if(options.get_bool_option("simplify"))
81-
simplify(guard_expr, ns);
82-
83-
if(!guard_expr.is_true())
84-
{
85-
goto_program_instruction_typet type=
86-
options.get_bool_option("assert-to-assume")?ASSUME:ASSERT;
87-
88-
goto_programt::targett t=new_code.add_instruction(type);
89-
t->guard.swap(guard_expr);
90-
t->source_location=dereference_location;
91-
t->source_location.set_property_class(property);
92-
t->source_location.set_comment("dereference failure: "+msg);
93-
}
94-
}
95-
}
96-
9747
/// Turn subexpression of `expr` of the form `&*p` into p
9848
/// and use `dereference` on subexpressions of the form `*p`
9949
/// \param expr: expression in which to remove dereferences
@@ -166,8 +116,6 @@ void goto_program_dereferencet::dereference_rec(exprt &expr)
166116
if(expr.operands().size()!=1)
167117
throw "dereference expects one operand";
168118

169-
dereference_location=expr.find_source_location();
170-
171119
exprt tmp = dereference.dereference(expr.op0());
172120

173121
expr.swap(tmp);
@@ -181,8 +129,6 @@ void goto_program_dereferencet::dereference_rec(exprt &expr)
181129

182130
if(expr.op0().type().id()==ID_pointer)
183131
{
184-
dereference_location=expr.find_source_location();
185-
186132
exprt tmp1(ID_plus, expr.op0().type());
187133
tmp1.operands().swap(expr.operands());
188134

@@ -231,8 +177,6 @@ void goto_program_dereferencet::dereference_program(
231177
it++)
232178
{
233179
new_code.clear();
234-
assertions.clear();
235-
236180
dereference_instruction(it, checks_only);
237181

238182
// insert new instructions
@@ -265,9 +209,6 @@ void goto_program_dereferencet::dereference_instruction(
265209
bool checks_only)
266210
{
267211
current_target=target;
268-
#if 0
269-
valid_local_variables=&target->local_variables;
270-
#endif
271212
goto_programt::instructiont &i=*target;
272213

273214
if(i.has_condition())
@@ -329,45 +270,9 @@ void goto_program_dereferencet::dereference_expression(
329270
{
330271
current_function = function_id;
331272
current_target=target;
332-
#if 0
333-
valid_local_variables=&target->local_variables;
334-
#endif
335-
336273
dereference_expr(expr, false);
337274
}
338275

339-
/// Throw an exception in case removing dereferences from the program would
340-
/// throw an exception.
341-
void goto_program_dereferencet::pointer_checks(
342-
goto_programt &goto_program)
343-
{
344-
dereference_program(goto_program, true);
345-
}
346-
347-
/// Throw an exception in case removing dereferences from the program would
348-
/// throw an exception.
349-
void goto_program_dereferencet::pointer_checks(
350-
goto_functionst &goto_functions)
351-
{
352-
dereference_program(goto_functions, true);
353-
}
354-
355-
/// \deprecated
356-
void remove_pointers(
357-
goto_programt &goto_program,
358-
symbol_tablet &symbol_table,
359-
value_setst &value_sets)
360-
{
361-
namespacet ns(symbol_table);
362-
363-
optionst options;
364-
365-
goto_program_dereferencet
366-
goto_program_dereference(ns, symbol_table, options, value_sets);
367-
368-
goto_program_dereference.dereference_program(goto_program);
369-
}
370-
371276
/// Remove dereferences in all expressions contained in the program
372277
/// `goto_model`. `value_sets` is used to determine to what objects the pointers
373278
/// may be pointing to.
@@ -387,32 +292,6 @@ void remove_pointers(
387292
goto_program_dereference.dereference_program(it->second.body);
388293
}
389294

390-
/// \deprecated
391-
void pointer_checks(
392-
goto_programt &goto_program,
393-
symbol_tablet &symbol_table,
394-
const optionst &options,
395-
value_setst &value_sets)
396-
{
397-
namespacet ns(symbol_table);
398-
goto_program_dereferencet
399-
goto_program_dereference(ns, symbol_table, options, value_sets);
400-
goto_program_dereference.pointer_checks(goto_program);
401-
}
402-
403-
/// \deprecated
404-
void pointer_checks(
405-
goto_functionst &goto_functions,
406-
symbol_tablet &symbol_table,
407-
const optionst &options,
408-
value_setst &value_sets)
409-
{
410-
namespacet ns(symbol_table);
411-
goto_program_dereferencet
412-
goto_program_dereference(ns, symbol_table, options, value_sets);
413-
goto_program_dereference.pointer_checks(goto_functions);
414-
}
415-
416295
/// Remove dereferences in `expr` using `value_sets` to determine to what
417296
/// objects the pointers may be pointing to.
418297
void dereference(

src/pointer-analysis/goto_program_dereference.h

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ Author: Daniel Kroening, [email protected]
1919
#include "value_sets.h"
2020
#include "value_set_dereference.h"
2121

22-
class guardt;
23-
2422
/// Wrapper for functions removing dereferences in expressions contained in
2523
/// a goto program.
2624
class goto_program_dereferencet:protected dereference_callbackt
@@ -50,9 +48,6 @@ class goto_program_dereferencet:protected dereference_callbackt
5048
goto_functionst &goto_functions,
5149
bool checks_only=false);
5250

53-
void pointer_checks(goto_programt &goto_program);
54-
void pointer_checks(goto_functionst &goto_functions);
55-
5651
void dereference_expression(
5752
const irep_idt &function_id,
5853
goto_programt::const_targett target,
@@ -68,17 +63,8 @@ class goto_program_dereferencet:protected dereference_callbackt
6863
value_setst &value_sets;
6964
value_set_dereferencet dereference;
7065

71-
DEPRECATED("Unused")
72-
virtual bool is_valid_object(const irep_idt &identifier);
73-
7466
const symbolt *get_or_create_failed_symbol(const exprt &expr) override;
7567

76-
DEPRECATED("Unused")
77-
virtual void dereference_failure(
78-
const std::string &property,
79-
const std::string &msg,
80-
const guardt &guard);
81-
8268
void
8369
get_value_set(const exprt &expr, value_setst::valuest &dest) const override;
8470

@@ -90,19 +76,8 @@ class goto_program_dereferencet:protected dereference_callbackt
9076
void dereference_rec(exprt &expr);
9177
void dereference_expr(exprt &expr, const bool checks_only);
9278

93-
#if 0
94-
const std::set<irep_idt> *valid_local_variables;
95-
#endif
9679
irep_idt current_function;
9780
goto_programt::const_targett current_target;
98-
99-
/// Unused
100-
source_locationt dereference_location;
101-
102-
/// Unused
103-
std::set<exprt> assertions;
104-
105-
/// Unused
10681
goto_programt new_code;
10782
};
10883

@@ -117,24 +92,4 @@ void remove_pointers(
11792
goto_modelt &,
11893
value_setst &);
11994

120-
DEPRECATED("Unused")
121-
void remove_pointers(
122-
goto_functionst &,
123-
symbol_tablet &,
124-
value_setst &);
125-
126-
DEPRECATED("Unused")
127-
void pointer_checks(
128-
goto_programt &,
129-
symbol_tablet &,
130-
const optionst &,
131-
value_setst &);
132-
133-
DEPRECATED("Unused")
134-
void pointer_checks(
135-
goto_functionst &,
136-
symbol_tablet &,
137-
const optionst &,
138-
value_setst &);
139-
14095
#endif // CPROVER_POINTER_ANALYSIS_GOTO_PROGRAM_DEREFERENCE_H

0 commit comments

Comments
 (0)