cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
add_failed_symbols.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Pointer Dereferencing
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_POINTER_ANALYSIS_ADD_FAILED_SYMBOLS_H
13
#define CPROVER_POINTER_ANALYSIS_ADD_FAILED_SYMBOLS_H
14
15
#include <
util/expr.h
>
16
17
class
symbol_table_baset
;
18
class
symbolt
;
19
class
namespacet
;
20
class
symbol_exprt
;
21
22
void
add_failed_symbols
(
symbol_table_baset
&symbol_table);
23
24
void
add_failed_symbol_if_needed
(
25
const
symbolt
&symbol,
symbol_table_baset
&symbol_table);
26
27
irep_idt
failed_symbol_id
(
const
irep_idt
&identifier);
28
34
std::optional<symbol_exprt>
35
get_failed_symbol
(
const
symbol_exprt
&expr,
const
namespacet
&ns);
36
38
inline
bool
is_failed_symbol
(
const
exprt
&expr)
39
{
40
return
expr.
type
().
get_bool
(ID_C_is_failed_symbol);
41
}
42
43
#endif
// CPROVER_POINTER_ANALYSIS_ADD_FAILED_SYMBOLS_H
add_failed_symbol_if_needed
void add_failed_symbol_if_needed(const symbolt &symbol, symbol_table_baset &symbol_table)
Create a failed-dereference symbol for the given base symbol if it is pointer-typed,...
Definition
add_failed_symbols.cpp:62
get_failed_symbol
std::optional< symbol_exprt > get_failed_symbol(const symbol_exprt &expr, const namespacet &ns)
Get the failed-dereference symbol for the given symbol.
Definition
add_failed_symbols.cpp:91
is_failed_symbol
bool is_failed_symbol(const exprt &expr)
Return true if, and only if, expr is the result of failed dereferencing.
Definition
add_failed_symbols.h:38
failed_symbol_id
irep_idt failed_symbol_id(const irep_idt &identifier)
Get the name of the special symbol used to denote an unknown referee pointed to by a given pointer-ty...
Definition
add_failed_symbols.cpp:26
add_failed_symbols
void add_failed_symbols(symbol_table_baset &symbol_table)
Create a failed-dereference symbol for all symbols in the given table that need one (i....
Definition
add_failed_symbols.cpp:77
exprt
Base class for all expressions.
Definition
expr.h:57
exprt::type
typet & type()
Return the type of the expression.
Definition
expr.h:85
irept::get_bool
bool get_bool(const irep_idt &name) const
Definition
irep.cpp:57
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
symbol_exprt
Expression to hold a symbol (variable).
Definition
std_expr.h:132
symbol_table_baset
The symbol table base class interface.
Definition
symbol_table_base.h:23
symbolt
Symbol table entry.
Definition
symbol.h:28
expr.h
irep_idt
dstringt irep_idt
Definition
verification_result.h:16
pointer-analysis
add_failed_symbols.h
Generated by
1.17.0