|
| | ansi_c_typecheckt (ansi_c_parse_treet &_parse_tree, symbol_tablet &_symbol_table, const std::string &_module, message_handlert &_message_handler) |
| |
| | ansi_c_typecheckt (ansi_c_parse_treet &_parse_tree, symbol_tablet &_symbol_table1, const symbol_tablet &_symbol_table2, const std::string &_module, message_handlert &_message_handler) |
| |
| virtual | ~ansi_c_typecheckt () |
| |
| virtual void | typecheck () |
| |
| | c_typecheck_baset (symbol_tablet &_symbol_table, const std::string &_module, message_handlert &_message_handler) |
| |
| | c_typecheck_baset (symbol_tablet &_symbol_table1, const symbol_tablet &_symbol_table2, const std::string &_module, message_handlert &_message_handler) |
| |
| virtual | ~c_typecheck_baset () |
| |
| virtual void | typecheck_expr (exprt &expr) |
| |
| | typecheckt (message_handlert &_message_handler) |
| |
| virtual | ~typecheckt () |
| |
| virtual bool | typecheck_main () |
| |
| virtual void | set_message_handler (message_handlert &_message_handler) |
| |
| message_handlert & | get_message_handler () |
| |
| | messaget () |
| |
| | messaget (const messaget &other) |
| |
| messaget & | operator= (const messaget &other) |
| |
| | messaget (message_handlert &_message_handler) |
| |
| virtual | ~messaget () |
| |
| mstreamt & | get_mstream (unsigned message_level) const |
| |
| mstreamt & | error () const |
| |
| mstreamt & | warning () const |
| |
| mstreamt & | result () const |
| |
| mstreamt & | status () const |
| |
| mstreamt & | statistics () const |
| |
| mstreamt & | progress () const |
| |
| mstreamt & | debug () const |
| |
| void | conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const |
| | Generate output to message_stream using output_generator if the configured verbosity is at least as high as that of message_stream. More...
|
| |
| | namespacet (const symbol_table_baset &_symbol_table) |
| |
| | namespacet (const symbol_table_baset &_symbol_table1, const symbol_table_baset &_symbol_table2) |
| |
| | namespacet (const symbol_table_baset *_symbol_table1, const symbol_table_baset *_symbol_table2) |
| |
| bool | lookup (const irep_idt &name, const symbolt *&symbol) const override |
| | See documentation for namespace_baset::lookup(). More...
|
| |
| std::size_t | smallest_unused_suffix (const std::string &prefix) const override |
| | See documentation for namespace_baset::smallest_unused_suffix(). More...
|
| |
| const symbol_table_baset & | get_symbol_table () const |
| | Return first symbol table registered with the namespace. More...
|
| |
| const symbolt & | lookup (const irep_idt &name) const |
| | Lookup a symbol in the namespace. More...
|
| |
| const symbolt & | lookup (const symbol_exprt &) const |
| | Generic lookup function for a symbol expression in a symbol table. More...
|
| |
| const symbolt & | lookup (const tag_typet &) const |
| | Generic lookup function for a tag type in a symbol table. More...
|
| |
| virtual bool | lookup (const irep_idt &name, const symbolt *&symbol) const=0 |
| | Searches for a symbol named name. More...
|
| |
| const symbolt & | lookup (const irep_idt &name) const |
| | Lookup a symbol in the namespace. More...
|
| |
| const symbolt & | lookup (const symbol_exprt &) const |
| | Generic lookup function for a symbol expression in a symbol table. More...
|
| |
| const symbolt & | lookup (const tag_typet &) const |
| | Generic lookup function for a tag type in a symbol table. More...
|
| |
| virtual | ~namespace_baset () |
| |
| void | follow_macros (exprt &) const |
| | Follow macros to their values in a given expression. More...
|
| |
| const typet & | follow (const typet &) const |
| | Resolve type symbol to the type it points to. More...
|
| |
| const union_typet & | follow_tag (const union_tag_typet &) const |
| | Follow type tag of union type. More...
|
| |
| const struct_typet & | follow_tag (const struct_tag_typet &) const |
| | Follow type tag of struct type. More...
|
| |
| const c_enum_typet & | follow_tag (const c_enum_tag_typet &) const |
| | Follow type tag of enum type. More...
|
| |
|
| enum | message_levelt {
M_ERROR =1,
M_WARNING =2,
M_RESULT =4,
M_STATUS =6,
M_STATISTICS =8,
M_PROGRESS =9,
M_DEBUG =10
} |
| |
| static unsigned | eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest) |
| | Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
|
| |
| static commandt | command (unsigned c) |
| | Create an ECMA-48 SGR (Select Graphic Rendition) command. More...
|
| |
| static eomt | eom |
| |
| static const commandt | reset |
| | return to default formatting, as defined by the terminal More...
|
| |
| static const commandt | red |
| | render text with red foreground color More...
|
| |
| static const commandt | green |
| | render text with green foreground color More...
|
| |
| static const commandt | yellow |
| | render text with yellow foreground color More...
|
| |
| static const commandt | blue |
| | render text with blue foreground color More...
|
| |
| static const commandt | magenta |
| | render text with magenta foreground color More...
|
| |
| static const commandt | cyan |
| | render text with cyan foreground color More...
|
| |
| static const commandt | bright_red |
| | render text with bright red foreground color More...
|
| |
| static const commandt | bright_green |
| | render text with bright green foreground color More...
|
| |
| static const commandt | bright_yellow |
| | render text with bright yellow foreground color More...
|
| |
| static const commandt | bright_blue |
| | render text with bright blue foreground color More...
|
| |
| static const commandt | bright_magenta |
| | render text with bright magenta foreground color More...
|
| |
| static const commandt | bright_cyan |
| | render text with bright cyan foreground color More...
|
| |
| static const commandt | bold |
| | render text with bold font More...
|
| |
| static const commandt | faint |
| | render text with faint font More...
|
| |
| static const commandt | italic |
| | render italic text More...
|
| |
| static const commandt | underline |
| | render underlined text More...
|
| |
| typedef std::unordered_map< irep_idt, typet > | id_type_mapt |
| |
| typedef std::unordered_map< irep_idt, irep_idt > | asm_label_mapt |
| |
| virtual std::string | to_string (const exprt &expr) |
| |
| virtual std::string | to_string (const typet &type) |
| |
| virtual void | do_initializer (exprt &initializer, const typet &type, bool force_constant) |
| |
| virtual exprt | do_initializer_rec (const exprt &value, const typet &type, bool force_constant) |
| | initialize something of type ‘type’ with given value ‘value’ More...
|
| |
| virtual exprt | do_initializer_list (const exprt &value, const typet &type, bool force_constant) |
| |
| virtual exprt::operandst::const_iterator | do_designated_initializer (exprt &result, designatort &designator, const exprt &initializer_list, exprt::operandst::const_iterator init_it, bool force_constant) |
| |
| designatort | make_designator (const typet &type, const exprt &src) |
| |
| void | designator_enter (const typet &type, designatort &designator) |
| |
| void | increment_designator (designatort &designator) |
| |
| bool | gcc_vector_types_compatible (const vector_typet &, const vector_typet &) |
| |
| virtual void | implicit_typecast (exprt &expr, const typet &type) |
| |
| virtual void | implicit_typecast_arithmetic (exprt &expr) |
| |
| virtual void | implicit_typecast_arithmetic (exprt &expr1, exprt &expr2) |
| |
| virtual void | implicit_typecast_bool (exprt &expr) |
| |
| virtual void | start_typecheck_code () |
| |
| virtual void | typecheck_code (codet &code) |
| |
| virtual void | typecheck_assign (codet &expr) |
| |
| virtual void | typecheck_asm (code_asmt &code) |
| |
| virtual void | typecheck_block (code_blockt &code) |
| |
| virtual void | typecheck_break (codet &code) |
| |
| virtual void | typecheck_continue (codet &code) |
| |
| virtual void | typecheck_decl (codet &code) |
| |
| virtual void | typecheck_expression (codet &code) |
| |
| virtual void | typecheck_for (codet &code) |
| |
| virtual void | typecheck_goto (code_gotot &code) |
| |
| virtual void | typecheck_ifthenelse (code_ifthenelset &code) |
| |
| virtual void | typecheck_label (code_labelt &code) |
| |
| virtual void | typecheck_switch_case (code_switch_caset &code) |
| |
| virtual void | typecheck_gcc_computed_goto (codet &code) |
| |
| virtual void | typecheck_gcc_switch_case_range (code_gcc_switch_case_ranget &) |
| |
| virtual void | typecheck_gcc_local_label (codet &code) |
| |
| virtual void | typecheck_return (code_frontend_returnt &) |
| |
| virtual void | typecheck_switch (codet &code) |
| |
| virtual void | typecheck_while (code_whilet &code) |
| |
| virtual void | typecheck_dowhile (code_dowhilet &code) |
| |
| virtual void | typecheck_start_thread (codet &code) |
| |
| virtual void | typecheck_typed_target_call (side_effect_expr_function_callt &expr) |
| |
| virtual void | check_history_expr_return_value (const exprt &expr, std::string &clause_type) |
| | Checks that no history expr or return_value exists in expr. More...
|
| |
| virtual void | typecheck_spec_function_pointer_obeys_contract (exprt &expr) |
| |
| virtual void | typecheck_spec_assigns (exprt::operandst &targets) |
| |
| virtual void | typecheck_conditional_targets (exprt::operandst &targets, const std::function< void(exprt &)> typecheck_target, const std::string &clause_type) |
| |
| virtual void | typecheck_spec_condition (exprt &condition) |
| |
| virtual void | typecheck_spec_assigns_target (exprt &target) |
| |
| virtual void | typecheck_spec_loop_invariant (codet &code) |
| |
| virtual void | typecheck_spec_decreases (codet &code) |
| |
| virtual void | throw_on_side_effects (const exprt &expr) |
| |
| virtual void | typecheck_expr_builtin_va_arg (exprt &expr) |
| |
| virtual void | typecheck_expr_builtin_offsetof (exprt &expr) |
| |
| virtual void | typecheck_expr_cw_va_arg_typeof (exprt &expr) |
| |
| virtual void | typecheck_expr_main (exprt &expr) |
| |
| virtual void | typecheck_expr_operands (exprt &expr) |
| |
| virtual void | typecheck_expr_comma (exprt &expr) |
| |
| virtual void | typecheck_expr_constant (exprt &expr) |
| |
| virtual void | typecheck_expr_side_effect (side_effect_exprt &expr) |
| |
| virtual void | typecheck_expr_unary_arithmetic (exprt &expr) |
| |
| virtual void | typecheck_expr_unary_boolean (exprt &expr) |
| |
| virtual void | typecheck_expr_binary_arithmetic (exprt &expr) |
| |
| virtual void | typecheck_expr_shifts (shift_exprt &expr) |
| |
| virtual void | typecheck_expr_pointer_arithmetic (exprt &expr) |
| |
| virtual void | typecheck_arithmetic_pointer (const exprt &expr) |
| |
| virtual void | typecheck_expr_binary_boolean (exprt &expr) |
| |
| virtual void | typecheck_expr_trinary (if_exprt &expr) |
| |
| virtual void | typecheck_expr_address_of (exprt &expr) |
| |
| virtual void | typecheck_expr_dereference (exprt &expr) |
| |
| virtual void | typecheck_expr_member (exprt &expr) |
| |
| virtual void | typecheck_expr_ptrmember (exprt &expr) |
| |
| virtual void | typecheck_expr_rel (binary_relation_exprt &expr) |
| |
| virtual void | typecheck_expr_rel_vector (binary_exprt &expr) |
| |
| virtual void | adjust_float_rel (binary_relation_exprt &) |
| |
| virtual void | typecheck_expr_index (exprt &expr) |
| |
| virtual void | typecheck_expr_typecast (exprt &expr) |
| |
| virtual void | typecheck_expr_symbol (exprt &expr) |
| |
| virtual void | typecheck_expr_sizeof (exprt &expr) |
| |
| virtual void | typecheck_expr_alignof (exprt &expr) |
| |
| virtual void | typecheck_expr_function_identifier (exprt &expr) |
| |
| virtual void | typecheck_side_effect_gcc_conditional_expression (side_effect_exprt &expr) |
| |
| virtual void | typecheck_side_effect_function_call (side_effect_expr_function_callt &expr) |
| |
| virtual void | typecheck_side_effect_assignment (side_effect_exprt &expr) |
| |
| virtual void | typecheck_side_effect_statement_expression (side_effect_exprt &expr) |
| |
| virtual void | typecheck_function_call_arguments (side_effect_expr_function_callt &expr) |
| | Typecheck the parameters in a function call expression, and where necessary, make implicit casts around parameters explicit. More...
|
| |
| virtual exprt | do_special_functions (side_effect_expr_function_callt &expr) |
| |
| exprt | typecheck_builtin_overflow (side_effect_expr_function_callt &expr, const irep_idt &arith_op) |
| |
| exprt | typecheck_saturating_arithmetic (const side_effect_expr_function_callt &expr) |
| |
| virtual optionalt< symbol_exprt > | typecheck_gcc_polymorphic_builtin (const irep_idt &identifier, const exprt::operandst &arguments, const source_locationt &source_location) |
| |
| virtual code_blockt | instantiate_gcc_polymorphic_builtin (const irep_idt &identifier, const symbol_exprt &function_symbol) |
| |
| virtual exprt | typecheck_shuffle_vector (const side_effect_expr_function_callt &expr) |
| |
| void | disallow_subexpr_by_id (const exprt &, const irep_idt &, const std::string &) const |
| |
| virtual void | make_index_type (exprt &expr) |
| |
| virtual void | make_constant (exprt &expr) |
| |
| virtual void | make_constant_index (exprt &expr) |
| |
| virtual bool | gcc_types_compatible_p (const typet &, const typet &) |
| |
| virtual void | typecheck_type (typet &type) |
| |
| virtual void | typecheck_compound_type (struct_union_typet &type) |
| |
| virtual void | typecheck_compound_body (struct_union_typet &type) |
| |
| virtual void | typecheck_c_enum_type (typet &type) |
| |
| virtual void | typecheck_c_enum_tag_type (c_enum_tag_typet &type) |
| |
| virtual void | typecheck_code_type (code_typet &type) |
| |
| virtual void | typecheck_typedef_type (typet &type) |
| |
| virtual void | typecheck_c_bit_field_type (c_bit_field_typet &type) |
| |
| virtual void | typecheck_typeof_type (typet &type) |
| |
| virtual void | typecheck_array_type (array_typet &type) |
| |
| virtual void | typecheck_vector_type (typet &type) |
| |
| virtual void | typecheck_custom_type (typet &type) |
| |
| virtual void | adjust_function_parameter (typet &type) const |
| |
| virtual bool | is_complete_type (const typet &type) const |
| |
| typet | enum_constant_type (const mp_integer &min, const mp_integer &max) const |
| |
| bitvector_typet | enum_underlying_type (const mp_integer &min, const mp_integer &max, bool is_packed) const |
| |
| void | move_symbol (symbolt &symbol, symbolt *&new_symbol) |
| |
| void | move_symbol (symbolt &symbol) |
| |
| void | typecheck_declaration (ansi_c_declarationt &) |
| |
| void | typecheck_symbol (symbolt &symbol) |
| |
| void | typecheck_new_symbol (symbolt &symbol) |
| |
| void | typecheck_redefinition_type (symbolt &old_symbol, symbolt &new_symbol) |
| |
| void | typecheck_redefinition_non_type (symbolt &old_symbol, symbolt &new_symbol) |
| |
| void | typecheck_function_body (symbolt &symbol) |
| |
| void | add_parameters_to_symbol_table (symbolt &symbol) |
| | Create symbols for parameter of the code-typed symbol symbol. More...
|
| |
| virtual void | do_initializer (symbolt &symbol) |
| |
| void | apply_asm_label (const irep_idt &asm_label, symbolt &symbol) |
| |
| static void | add_rounding_mode (exprt &) |
| |
| static bool | is_numeric_type (const typet &src) |
| |