|
| bool | snapshot_vla_sizes (const clang::Decl &decl, codet &dest) |
| bool | get_vla_size (const clang::Expr &size, exprt &new_expr) |
| void | collect_address_taken_labels (const clang::Stmt &body) |
| bool | convert_builtin_types () |
| virtual bool | convert_top_level_decl () |
| virtual void | annotate_exception_specification (const clang::FunctionDecl &, typet &) |
| | Since this class is inherited by clang-cpp-frontend, some get_* functions are made `virtual' to deal with clang CXX declarations */ virtual bool get_decl(const clang::Decl &decl, exprt &new_expr);.
|
| virtual bool | get_function_params (const clang::FunctionDecl &fd, code_typet::argumentst ¶ms) |
| | Parse function parameters This function simply contains a loop to populate the code argument list and calls get_function_param to parse each individual parameter.
|
| bool | get_function_param (const clang::ParmVarDecl &pd, exprt ¶m) |
| | Parse each individual parameter of the function.
|
| virtual void | name_param_and_continue (const clang::ParmVarDecl &pd, std::string &id, std::string &name, exprt ¶m) |
| virtual bool | get_struct_union_class (const clang::RecordDecl &recordd) |
| virtual bool | get_struct_union_class_fields (const clang::RecordDecl &recordd, struct_union_typet &type) |
| virtual bool | get_struct_union_class_methods_decls (const clang::RecordDecl &recordd, typet &type) |
| virtual bool | get_type (const clang::QualType &type, typet &new_type) |
| virtual bool | get_type (const clang::Type &the_type, typet &new_type) |
| void | get_ref_to_struct_type (typet &type) |
| bool | get_builtin_type (const clang::BuiltinType &bt, typet &new_type) |
| bool | get_bitfield_type (const clang::FieldDecl &, const typet &orig_type, typet &new_type) |
| bool | wrap_bitfield_type_if_needed (const clang::FieldDecl &fd, typet &t) |
| void | size_flexible_array_member (const clang::ValueDecl &vd, typet &t) |
| virtual bool | get_expr (const clang::Stmt &stmt, exprt &new_expr) |
| bool | get_base_flattened_inits (const clang::InitListExpr &init, std::vector< exprt > &flat) |
| bool | get_array_filler (const clang::InitListExpr &init, exprt &filler) |
| bool | get_enum_value (const clang::EnumConstantDecl *e, exprt &new_expr) |
| virtual bool | get_decl_ref (const clang::Decl &decl, exprt &new_expr) |
| bool | get_binary_operator_expr (const clang::BinaryOperator &binop, exprt &new_expr) |
| void | get_vector_comparison (const clang::BinaryOperator &binop, irep_idt relation, exprt lhs, exprt rhs, const typet &type, exprt &new_expr) |
| bool | get_compound_assign_expr (const clang::CompoundAssignOperator &compop, exprt &new_expr) |
| virtual bool | get_unary_operator_expr (const clang::UnaryOperator &uniop, exprt &new_expr) |
| bool | get_atomic_expr (const clang::AtomicExpr &atm, exprt &new_expr) |
| virtual bool | get_member_expr (const clang::MemberExpr &memb, exprt &new_expr) |
| bool | get_cast_expr (const clang::CastExpr &cast, exprt &new_expr) |
| void | get_default_symbol (symbolt &symbol, irep_idt module_name, typet type, irep_idt base_name, irep_idt unique_name, locationt location) |
| virtual void | get_decl_name (const clang::NamedDecl &vd, std::string &name, std::string &id) |
| void | get_start_location_from_stmt (const clang::Stmt &stmt, locationt &location) |
| bool | report_unsupported_init_list (const clang::InitListExpr &init_stmt) |
| | Report an initializer list none of get_expr's arms models, with its type and source location. Always returns true (conversion failed).
|
| void | get_final_location_from_stmt (const clang::Stmt &stmt, locationt &location) |
| void | get_location_from_decl (const clang::Decl &decl, locationt &location) |
| void | set_location (clang::PresumedLoc &PLoc, std::string &function_name, locationt &location) |
| void | get_presumed_location (const clang::SourceLocation &loc, clang::PresumedLoc &PLoc) |
| std::string | get_filename_from_path (std::string path) |
| std::string | get_modulename_from_path (std::string path) |
| void | convert_expression_to_code (exprt &expr) |
| bool | convert_character_literal (const clang::CharacterLiteral &char_literal, exprt &dest) |
| bool | convert_string_literal (const clang::StringLiteral &string_literal, exprt &dest) |
| bool | convert_integer_literal (const clang::IntegerLiteral &integer_literal, exprt &dest) |
| bool | convert_float_literal (const clang::FloatingLiteral &floating_literal, exprt &dest) |
| const clang::Decl * | get_DeclContext_from_Stmt (const clang::Stmt &stmt) |
| const clang::Decl * | get_top_FunctionDecl_from_Stmt (const clang::Stmt &stmt) |
| bool | process_aligned_attribute (const clang::AlignedAttr &aattr, typet &t) const |
| bool | process_record_layout_attributes (const clang::RecordDecl &rd, typet &t) const |
| bool | check_alignment_attributes (const clang::FieldDecl *field, struct_typet::componentt &comp) |
| bool | is_field_global_storage (const clang::FieldDecl *field) |
| virtual bool | perform_virtual_dispatch (const clang::MemberExpr &member) |
| virtual bool | get_vft_binding_expr (const clang::MemberExpr &member, exprt &new_expr) |
| virtual bool | is_fd_virtual_or_overriding (const clang::FunctionDecl &fd) |
| virtual bool | is_aggregate_type (const clang::QualType &q_type) |
| bool | get_mangled_id (const clang::NamedDecl &nd, std::string &id) |
| | The USR generator gives up on some C++20 declarations: a specialisation over a class-type template argument, its members and parameters, and the template parameter object that argument names.
|
| bool | add_template_param_object (const clang::TemplateParamObjectDecl &tpo, const std::string &name, const std::string &id) |
| bool | get_APValue_expr (const clang::APValue &value, exprt &new_expr, const clang::QualType *type=nullptr) |
| bool | is_member_decl_static (const clang::MemberExpr &member) |
| void | rewrite_builtin_ref (const clang::Decl &d, std::string &name, std::string &id) const |
| | Rewrites references to builtin functions to their ESBMC counterparts.
|
| bool | is_unlowered_math_builtin (const std::string &name) const |
| | __builtin_copysign and the other __builtin_ spellings of a <math.h> function have no body; the plain name has an operational model.
|
| virtual void clang_c_convertert::annotate_exception_specification |
( |
const clang::FunctionDecl & | , |
|
|
typet & | ) |
|
inlineprotectedvirtual |
Since this class is inherited by clang-cpp-frontend, some get_* functions are made `virtual' to deal with clang CXX declarations */ virtual bool get_decl(const clang::Decl &decl, exprt &new_expr);.
virtual bool get_var(const clang::VarDecl &vd, exprt &new_expr); virtual const clang::Expr &elided_copy_source(const clang::Expr &init); bool has_dynamic_local_init(const clang::VarDecl &vd) const; void add_init_guard(const symbolt &var); bool get_static_var_init(
const clang::VarDecl &vd,
symbolt &symbol,
const typet &t,
const locationt &location_begin,
exprt &new_expr);
std::string header_internal_suffix(const clang::NamedDecl &nd); / Internal-linkage functions and variables sharing a USR, in the order they / were first named; see header_internal_suffix. std::unordered_map<std::string, std::vector<const clang::Decl *>> internal_copies;
virtual bool get_function(const clang::FunctionDecl &fd, exprt &new_expr);
bool get_function_signature(const clang::FunctionDecl &fd, code_typet &type);
virtual bool get_function_body(
const clang::FunctionDecl &fd,
exprt &new_expr,
const code_typet &ftype);
/** Annotate a function's type with its C++ exception specification. No-op in C (which has no exception specifications); overridden in the C++ frontend to record noexcept / dynamic-throw specifications as function-boundary metadata on the function type.
Reimplemented in clang_cpp_convertert.