File tree Expand file tree Collapse file tree 4 files changed +11
-4
lines changed
regression/cbmc-shadow-memory/trace1 Expand file tree Collapse file tree 4 files changed +11
-4
lines changed Original file line number Diff line number Diff line change 1
- KNOWNBUG
1
+ CORE
2
2
main.c
3
3
--stop-on-fail --unwind 5
4
4
^EXIT=10$
Original file line number Diff line number Diff line change @@ -17,8 +17,9 @@ Date: September 2009
17
17
#include < util/std_expr.h>
18
18
#include < util/suffix.h>
19
19
20
- #include " goto_model.h "
20
+ #include < goto-symex/shadow_memory.h >
21
21
22
+ #include " goto_model.h"
22
23
#include " remove_skip.h"
23
24
24
25
#define RETURN_VALUE_SUFFIX " #return_value"
@@ -225,7 +226,10 @@ void remove_returnst::operator()(goto_functionst &goto_functions)
225
226
findit != goto_functions.function_map .end (),
226
227
" called function `" + id2string (function_id) +
227
228
" ' should have an entry in the function map" );
228
- return !findit->second .body_available ();
229
+ return !findit->second .body_available () &&
230
+ function_id != CPROVER_PREFIX SHADOW_MEMORY_FIELD_DECL &&
231
+ function_id != CPROVER_PREFIX SHADOW_MEMORY_GET_FIELD &&
232
+ function_id != CPROVER_PREFIX SHADOW_MEMORY_SET_FIELD;
229
233
};
230
234
231
235
replace_returns (gf_entry.first , gf_entry.second );
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ Author: Peter Schrammel
23
23
#define SHADOW_MEMORY_LOCAL_SCOPE " _local"
24
24
#define SHADOW_MEMORY_GET_FIELD " get_field"
25
25
#define SHADOW_MEMORY_SET_FIELD " set_field"
26
+ #define SHADOW_MEMORY_SYMBOL_PREFIX " __SM"
26
27
27
28
class code_function_callt ;
28
29
class abstract_goto_modelt ;
Original file line number Diff line number Diff line change @@ -228,7 +228,9 @@ void symex_assignt::assign_non_struct_symbol(
228
228
state.record_events .pop ();
229
229
230
230
auto current_assignment_type =
231
- ns.lookup (l2_lhs.get_object_name ()).is_auxiliary
231
+ ns.lookup (l2_lhs.get_object_name ()).is_auxiliary &&
232
+ id2string (l2_lhs.get_object_name ()).find (SHADOW_MEMORY_SYMBOL_PREFIX) !=
233
+ std::string::npos
232
234
? symex_targett::assignment_typet::HIDDEN
233
235
: assignment_type;
234
236
You can’t perform that action at this time.
0 commit comments