Go to the documentation of this file.
12 #ifndef CPROVER_ANALYSES_LOCAL_BITVECTOR_ANALYSIS_H
13 #define CPROVER_ANALYSES_LOCAL_BITVECTOR_ANALYSIS_H
30 :
dirty(_goto_function),
32 cfg(_goto_function.body),
165 void print(std::ostream &)
const;
215 #endif // CPROVER_ANALYSES_LOCAL_BITVECTOR_ANALYSIS_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
local_bitvector_analysist(const goto_functiont &_goto_function, const namespacet &ns)
flagst(const bitst _bits)
expanding_vectort< flagst > points_tot
Dirty variables are ones which have their address taken so we can't reliably work out where they may ...
static flagst mk_dynamic_local()
void assign_lhs(const exprt &lhs, const exprt &rhs, points_tot &loc_info_src, points_tot &loc_info_dest)
bool is_dynamic_heap() const
Base class for all expressions.
bool merge(const flagst &other)
static flagst mk_unknown()
bool is_tracked(const irep_idt &identifier)
numberingt< irep_idt > pointers
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
flagst operator|(const flagst other) const
goto_functionst::goto_functiont goto_functiont
flagst get_rec(const exprt &rhs, points_tot &loc_info_src)
static flagst mk_integer_address()
bool is_integer_address() const
bool is_static_lifetime() const
A goto function, consisting of function body (see body) and parameter identifiers (see parameter_iden...
std::vector< points_tot > loc_infost
static flagst mk_dynamic_heap()
void output(std::ostream &out, const goto_functiont &goto_function, const namespacet &ns) const
bool is_dynamic_local() const
static flagst mk_uninitialized()
bool is_uses_offset() const
::goto_functiont goto_functiont
static flagst mk_uses_offset()
void print(std::ostream &) const
bool is_uninitialized() const
flagst get(const goto_programt::const_targett t, const exprt &src)
instructionst::const_iterator const_targett
std::ostream & operator<<(std::ostream &out, const local_bitvector_analysist::flagst &flags)
static bool merge(points_tot &a, points_tot &b)
static flagst mk_static_lifetime()