18
18
19
19
#include < analyses/guard.h>
20
20
21
+ #include < goto-programs/goto_function.h>
21
22
#include < util/invariant.h>
22
- #include < util/std_expr.h>
23
- #include < util/ssa_expr.h>
24
23
#include < util/make_unique.h>
25
- #include < goto-programs/goto_function.h>
24
+ #include < util/nodiscard.h>
25
+ #include < util/ssa_expr.h>
26
+ #include < util/std_expr.h>
26
27
27
28
#include " call_stack.h"
28
29
#include " field_sensitivity.h"
@@ -97,20 +98,21 @@ class goto_symex_statet final : public goto_statet
97
98
// / A full explanation of SSA (which is why we do this renaming) is in
98
99
// / the SSA section of background-concepts.md.
99
100
template <levelt level = L2>
100
- renamedt<exprt, level> rename (exprt expr, const namespacet &ns);
101
+ NODISCARD renamedt<exprt, level> rename (exprt expr, const namespacet &ns);
101
102
102
103
// / Version of rename which is specialized for SSA exprt.
103
104
// / Implementation only exists for level L0 and L1.
104
105
template <levelt level>
105
- renamedt<ssa_exprt, level> rename_ssa (ssa_exprt ssa, const namespacet &ns);
106
+ NODISCARD renamedt<ssa_exprt, level>
107
+ rename_ssa (ssa_exprt ssa, const namespacet &ns);
106
108
107
109
template <levelt level = L2>
108
110
void rename (typet &type, const irep_idt &l1_identifier, const namespacet &ns);
109
111
110
- exprt l2_rename_rvalues (exprt lvalue, const namespacet &ns);
112
+ NODISCARD exprt l2_rename_rvalues (exprt lvalue, const namespacet &ns);
111
113
112
114
// / \return lhs renamed to level 2
113
- renamedt<ssa_exprt, L2> assignment (
115
+ NODISCARD renamedt<ssa_exprt, L2> assignment (
114
116
ssa_exprt lhs, // L0/L1
115
117
const exprt &rhs, // L2
116
118
const namespacet &ns,
@@ -126,7 +128,8 @@ class goto_symex_statet final : public goto_statet
126
128
127
129
// / Update values up to \c level.
128
130
template <levelt level>
129
- renamedt<ssa_exprt, level> set_indices (ssa_exprt expr, const namespacet &ns);
131
+ NODISCARD renamedt<ssa_exprt, level>
132
+ set_indices (ssa_exprt expr, const namespacet &ns);
130
133
131
134
// this maps L1 names to (L2) types
132
135
typedef std::unordered_map<irep_idt, typet> l1_typest;
0 commit comments