|
4 | 4 | #include "analyze_symbol.h"
|
5 | 5 | #include "gdb_api.h"
|
6 | 6 |
|
7 |
| -#include <regex> |
8 | 7 | #include <algorithm>
|
| 8 | +#include <regex> |
9 | 9 |
|
10 | 10 | #include <ansi-c/expr2c_class.h>
|
11 | 11 | #include <goto-programs/goto_model.h>
|
@@ -182,19 +182,30 @@ array_exprt create_char_array_from_string(
|
182 | 182 | return result_array;
|
183 | 183 | }
|
184 | 184 |
|
185 |
| -code_declt symbol_analyzert::declare_instance(const std::string &prefix, const typet &type) |
| 185 | +code_declt |
| 186 | +symbol_analyzert::declare_instance(const std::string &prefix, const typet &type) |
186 | 187 | {
|
187 | 188 | std::string safe_prefix = prefix;
|
188 | 189 | std::replace(safe_prefix.begin(), safe_prefix.end(), '.', '_');
|
189 | 190 | std::replace(safe_prefix.begin(), safe_prefix.end(), '-', '_');
|
190 | 191 | std::replace(safe_prefix.begin(), safe_prefix.end(), '>', '_');
|
191 | 192 | std::replace(safe_prefix.begin(), safe_prefix.end(), '&', '_');
|
192 | 193 | std::replace(safe_prefix.begin(), safe_prefix.end(), '*', '_');
|
193 |
| - safe_prefix.erase(std::remove(safe_prefix.begin(), safe_prefix.end(), '('), safe_prefix.end()); |
194 |
| - safe_prefix.erase(std::remove(safe_prefix.begin(), safe_prefix.end(), ')'), safe_prefix.end()); |
195 |
| - safe_prefix.erase(std::remove(safe_prefix.begin(), safe_prefix.end(), '['), safe_prefix.end()); |
196 |
| - safe_prefix.erase(std::remove(safe_prefix.begin(), safe_prefix.end(), ']'), safe_prefix.end()); |
197 |
| - safe_prefix.erase(std::remove(safe_prefix.begin(), safe_prefix.end(), ' '), safe_prefix.end()); |
| 194 | + safe_prefix.erase( |
| 195 | + std::remove(safe_prefix.begin(), safe_prefix.end(), '('), |
| 196 | + safe_prefix.end()); |
| 197 | + safe_prefix.erase( |
| 198 | + std::remove(safe_prefix.begin(), safe_prefix.end(), ')'), |
| 199 | + safe_prefix.end()); |
| 200 | + safe_prefix.erase( |
| 201 | + std::remove(safe_prefix.begin(), safe_prefix.end(), '['), |
| 202 | + safe_prefix.end()); |
| 203 | + safe_prefix.erase( |
| 204 | + std::remove(safe_prefix.begin(), safe_prefix.end(), ']'), |
| 205 | + safe_prefix.end()); |
| 206 | + safe_prefix.erase( |
| 207 | + std::remove(safe_prefix.begin(), safe_prefix.end(), ' '), |
| 208 | + safe_prefix.end()); |
198 | 209 |
|
199 | 210 | const std::string var_id = safe_prefix + "_" + std::to_string(id_counter);
|
200 | 211 | ++id_counter;
|
@@ -222,7 +233,9 @@ exprt symbol_analyzert::declare_and_initalize_char_ptr(
|
222 | 233 | init = create_char_array_from_string(value, bv_type, location, ns);
|
223 | 234 | }
|
224 | 235 |
|
225 |
| - code_declt target_object = declare_instance(id2string(symbol.get_identifier()), init.type()); |
| 236 | + code_declt target_object = |
| 237 | + declare_instance(id2string(symbol.get_identifier()), init.type()); |
| 238 | + |
226 | 239 | target_object.operands().resize(2);
|
227 | 240 | target_object.op1() = init;
|
228 | 241 | generated_code.add(target_object);
|
|
0 commit comments