File tree Expand file tree Collapse file tree 1 file changed +24
-2
lines changed
src/analyses/variable-sensitivity Expand file tree Collapse file tree 1 file changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ abstract_object_pointert abstract_environmentt::eval(
50
50
std::map<irep_idt, eval_handlert> handlers=
51
51
{
52
52
{
53
- ID_symbol, [&](const exprt &expr)
53
+ ID_symbol, [&](const exprt &expr) -> abstract_object_pointert
54
54
{
55
55
const symbol_exprt &symbol (to_symbol_expr (expr));
56
56
const auto &symbol_entry=map.find (symbol);
@@ -60,7 +60,8 @@ abstract_object_pointert abstract_environmentt::eval(
60
60
}
61
61
else
62
62
{
63
- return symbol_entry->second ;
63
+ abstract_object_pointert found_symbol_value=symbol_entry->second ;
64
+ return found_symbol_value;
64
65
}
65
66
}
66
67
},
@@ -146,6 +147,27 @@ abstract_object_pointert abstract_environmentt::eval(
146
147
{
147
148
return handler->second (simplified_expr);
148
149
}
150
+
151
+ // Debug code to see if appveyor trips up on this similar construct.
152
+ {
153
+ typedef std::shared_ptr<const int > const_pointert;
154
+
155
+ auto lambda = [&](const int &expr) {
156
+ const_pointert x (new int );
157
+ const const_pointert y (new int );
158
+ if (expr > 4 )
159
+ {
160
+ return x;
161
+ }
162
+ else
163
+ {
164
+ return y;
165
+ }
166
+ };
167
+
168
+ const_pointert retx = lambda (5 );
169
+ const_pointert rety = lambda (3 );
170
+ }
149
171
}
150
172
151
173
/* ******************************************************************\
You can’t perform that action at this time.
0 commit comments