File tree Expand file tree Collapse file tree 1 file changed +46
-1
lines changed Expand file tree Collapse file tree 1 file changed +46
-1
lines changed Original file line number Diff line number Diff line change @@ -121,11 +121,56 @@ std::ostream &goto_programt::output_instruction(
121
121
if (instruction.get_other ().id () == ID_code)
122
122
{
123
123
const auto &code = instruction.get_other ();
124
- if (code.get_statement () == ID_havoc_object)
124
+ if (code.get_statement () == ID_array_copy)
125
+ {
126
+ out << " ARRAY_COPY " << format (code.op0 ()) << ' ' << format (code.op1 ())
127
+ << ' \n ' ;
128
+ break ;
129
+ }
130
+ else if (code.get_statement () == ID_array_replace)
131
+ {
132
+ out << " ARRAY_REPLACE " << format (code.op0 ()) << ' '
133
+ << format (code.op1 ()) << ' \n ' ;
134
+ break ;
135
+ }
136
+ else if (code.get_statement () == ID_array_set)
137
+ {
138
+ out << " ARRAY_SET " << format (code.op0 ()) << ' ' << format (code.op1 ())
139
+ << ' \n ' ;
140
+ break ;
141
+ }
142
+ else if (code.get_statement () == ID_havoc_object)
125
143
{
126
144
out << " HAVOC_OBJECT " << format (code.op0 ()) << ' \n ' ;
127
145
break ;
128
146
}
147
+ else if (code.get_statement () == ID_fence)
148
+ {
149
+ out << " FENCE" ;
150
+ if (code.get_bool (ID_WWfence))
151
+ out << " WW" ;
152
+ if (code.get_bool (ID_RRfence))
153
+ out << " RR" ;
154
+ if (code.get_bool (ID_RWfence))
155
+ out << " RW" ;
156
+ if (code.get_bool (ID_WRfence))
157
+ out << " WR" ;
158
+ out << ' \n ' ;
159
+ break ;
160
+ }
161
+ else if (code.get_statement () == ID_input)
162
+ {
163
+ out << " INPUT" ;
164
+ for (const auto &op : code.operands ())
165
+ out << ' ' << format (op);
166
+ out << ' \n ' ;
167
+ break ;
168
+ }
169
+ else if (code.get_statement () == ID_output)
170
+ {
171
+ out << " OUTPUT " << format (code.op0 ()) << ' \n ' ;
172
+ break ;
173
+ }
129
174
// fallthrough
130
175
}
131
176
You can’t perform that action at this time.
0 commit comments