|
| void | apply (goto_programt &dest) |
| |
| void | replace_string_macros (exprt &expr, bool lhs, const source_locationt &) |
| |
| void | move_lhs_arithmetic (exprt &lhs, exprt &rhs) |
| |
| bool | is_char_type (const typet &type) const |
| |
| bool | is_ptr_string_struct (const typet &type) const |
| |
| void | make_type (exprt &dest, const typet &type) |
| |
| goto_programt::targett | abstract (goto_programt &dest, goto_programt::targett it) |
| |
| goto_programt::targett | abstract_assign (goto_programt &dest, goto_programt::targett it) |
| |
| goto_programt::targett | abstract_pointer_assign (goto_programt &dest, goto_programt::targett it) |
| |
| goto_programt::targett | abstract_char_assign (goto_programt &dest, goto_programt::targett it) |
| |
| goto_programt::targett | char_assign (goto_programt &dest, goto_programt::targett target, const exprt &new_lhs, const exprt &lhs, const exprt &rhs) |
| |
| void | abstract_function_call (goto_programt::targett it) |
| |
| goto_programt::targett | value_assignments (goto_programt &dest, goto_programt::targett it, const exprt &lhs, const exprt &rhs) |
| |
| goto_programt::targett | value_assignments_if (goto_programt &dest, goto_programt::targett target, const exprt &lhs, const if_exprt &rhs) |
| |
| goto_programt::targett | value_assignments_string_struct (goto_programt &dest, goto_programt::targett target, const exprt &lhs, const exprt &rhs) |
| |
| exprt | build (const exprt &pointer, whatt what, bool write, const source_locationt &) |
| |
| bool | build (const exprt &object, exprt &dest, bool write) |
| |
| bool | build_wrap (const exprt &object, exprt &dest, bool write) |
| |
| bool | build_if (const if_exprt &o_if, exprt &dest, bool write) |
| |
| bool | build_array (const array_exprt &object, exprt &dest, bool write) |
| |
| bool | build_symbol (const symbol_exprt &sym, exprt &dest) |
| |
| bool | build_symbol_constant (const mp_integer &zero_length, const mp_integer &buf_size, exprt &dest) |
| |
| exprt | build_unknown (whatt what, bool write) |
| |
| exprt | build_unknown (const typet &type, bool write) |
| |
| const typet & | build_abstraction_type (const typet &type) |
| |
| const typet & | build_abstraction_type_rec (const typet &type, const abstraction_types_mapt &known) |
| |
| bool | build_pointer (const exprt &object, exprt &dest, bool write) |
| |
| void | build_new_symbol (const symbolt &symbol, const irep_idt &identifier, const typet &type) |
| |
| exprt | member (const exprt &a, whatt what) |
| |
| void | abstract (goto_programt &dest) |
| |
| void | add_str_parameters (symbolt &fct_symbol, goto_functiont::parameter_identifierst ¶meter_identifiers) |
| |
| code_typet::parametert | add_parameter (const symbolt &fct_symbol, const typet &type, const irep_idt &identifier) |
| |
| void | make_decl_and_def (goto_programt &dest, goto_programt::targett ref_instr, const irep_idt &identifier, const irep_idt &source_sym) |
| |
| exprt | make_val_or_dummy_rec (goto_programt &dest, goto_programt::targett ref_instr, const symbolt &symbol, const typet &source_type) |
| |
| symbol_exprt | add_dummy_symbol_and_value (goto_programt &dest, goto_programt::targett ref_instr, const symbolt &symbol, const irep_idt &component_name, const typet &type, const typet &source_type) |
| |
| void | declare_define_locals (goto_programt &dest) |
| |
Replace all uses of char * by a struct that carries that string, and also the underlying allocation and the C string length.
This will become useful (with some modifications) for supporting strings in the C frontend, as the string solver expects a struct that bundles the string length and the underlying character array.
Definition at line 33 of file string_abstraction.h.