cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
may_alias.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Solver
4
5
Author: Daniel Kroening, dkr@amazon.com
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_CPROVER_MAY_ALIAS_H
13
#define CPROVER_CPROVER_MAY_ALIAS_H
14
15
#include <
util/std_expr.h
>
// IWYU pragma: keep
16
17
#include <unordered_set>
18
19
class
namespacet
;
20
21
bool
is_object_field_element
(
const
exprt
&);
22
23
// check whether the given two addresses may be aliases
24
std::optional<exprt>
may_alias
(
25
const
exprt
&,
26
const
exprt
&,
27
const
std::unordered_set<symbol_exprt, irep_hash> &
address_taken
,
28
const
namespacet
&);
29
30
bool
stack_and_not_dirty
(
31
const
exprt
&,
32
const
std::unordered_set<symbol_exprt, irep_hash> &
address_taken
,
33
const
namespacet
&);
34
35
#endif
// CPROVER_CPROVER_MAY_ALIAS_H
address_taken
std::unordered_set< symbol_exprt, irep_hash > address_taken(const std::vector< exprt > &src)
Definition
address_taken.cpp:51
exprt
Base class for all expressions.
Definition
expr.h:57
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
is_object_field_element
bool is_object_field_element(const exprt &)
Definition
may_alias.cpp:62
may_alias
std::optional< exprt > may_alias(const exprt &, const exprt &, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, const namespacet &)
Definition
may_alias.cpp:221
stack_and_not_dirty
bool stack_and_not_dirty(const exprt &, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, const namespacet &)
Definition
may_alias.cpp:107
std_expr.h
API to expression classes.
cprover
may_alias.h
Generated by
1.17.0